Introducción a Image Segmenter
La app Image Segmenter proporciona acceso a diferentes formas de segmentar una imagen. Realizar la segmentación utilizando Image Segmenter puede ser un proceso iterativo en el que se pueden probar varias opciones de segmentación. Es posible que algunas técnicas de segmentación funcionen mejor con determinados tipos de imágenes que otras. Después de segmentar una imagen, puede guardar la máscara binaria. También puede recuperar el código que Image Segmenter ha usado para crear la máscara.
Abrir la app Image Segmenter y cargar datos
Abra la app y cargue la imagen que desea segmentar. Image Segmenter puede abrir cualquier archivo que se pueda leer con imread
.
Puede abrir Image Segmenter desde la línea de comandos. Especifique una imagen en el área de trabajo o el nombre de un archivo.
I = imread("coins.png");
imageSegmenter(I)
Como alternativa, abra la app desde la pestaña Apps, en Image Processing and Computer Vision. Después, en el menú Load, elija el nombre de una variable del área de trabajo o el nombre del archivo que contiene la imagen.
Después de cargar una imagen, opcionalmente puede cargar una máscara binaria existente. Por ejemplo, es posible que haya creado una máscara de una imagen RGB en la app Color Thresholder y que desee mejorar la segmentación. Para cargar una máscara existente, haga clic en Load Mask. La imagen de máscara de segmentación debe ser una imagen lógica del mismo tamaño que la imagen que va a segmentar.
Crear y añadir regiones a una máscara segmentada
Para crear una máscara inicial, utilice cualquiera de las herramientas de los menús Create Mask y Add to Mask. Si desea comenzar una nueva segmentación después de crear una máscara, haga clic en New Segmentation. Puede realizar varias segmentaciones utilizando la app. Cada segmentación aparece representada con una miniatura en el panel Data Browser.
Para añadir regiones segmentadas a una máscara existente, utilice las herramientas del menú Add to Mask. La app muestra los pasos que debe dar mientras crea la segmentación en el panel History del Data Browser.
Herramienta | Descripción |
---|---|
Threshold | Una técnica automática en la que especifica el valor de intensidad que desea aislar. Esta técnica puede ser útil si los objetos que desea segmentar en la imagen tienen valores de intensidad de los píxeles similares y estos valores se distinguen con facilidad de otras áreas de la imagen, como el fondo. Para obtener más información, consulte Segmentar una imagen usando umbrales en Image Segmenter. |
Graph Cut | Una técnica semiautomática que puede segmentar primeros planos y fondos. Esta técnica no requiere colocar cuidadosamente puntos semilla y puede mejorar la segmentación de manera interactiva. Para obtener más información, consulte Segment Image Using Graph Cut in Image Segmenter. |
Auto Cluster | Una técnica automática en la que la app agrupa características de imagen en una segmentación binaria. Esta opción solo está disponible si tiene Statistics and Machine Learning Toolbox™. Para obtener más información, consulte Segmentar una imagen usando Auto Cluster en Image Segmenter. |
Find Circles | Una técnica automática en la que especifica el diámetro mínimo y máximo de los objetos circulares que desea detectar. Para más información, consulte Segment Image Using Find Circles in Image Segmenter. |
Local Graph Cut (grabcut) | Una técnica semiautomática, similar al método Graph Cut, que puede segmentar primeros planos y fondos. Con Local Graph Cut (grabcut), en primer lugar define una ROI que abarque el objeto de la imagen que desea segmentar. Image Segmenter segmenta el objeto de la ROI de forma automática. Puede mejorar la segmentación dibujando líneas en la imagen para identificar el primer plano y el fondo dentro de la ROI. Todo lo que quede fuera de la ROI se considera fondo. Para obtener más información, consulte Segment Image Using Local Graph Cut (Grabcut) in Image Segmenter. |
Flood Fill | Una técnica automática en la que especifica los puntos iniciales, y el método segmenta áreas con valores de intensidad similares. |
Draw ROI | Una técnica manual en la que dibuja formas que describen la región de los objetos que desea segmentar. Puede dibujar rectángulos, elipses, polígonos o formas trazadas a mano alzada con el ratón. Para obtener más información, consulte Segment Image by Drawing Regions Using Image Segmenter. |
Cuando utilice las herramientas de segmentación Auto Cluster, Graph Cut y Flood Fill, también puede incluir texturas como una consideración adicional en la segmentación. El filtrado de texturas puede ayudar a distinguir el primer plano del fondo. Para activar y desactivar la opción de textura, haga clic en Include Texture Features. Cuando está habilitada, Image Segmenter utiliza los filtros de Gabor para analizar la textura de la imagen como un paso de preprocesamiento en la segmentación. Para obtener más información, consulte Use Texture Filtering in Image Segmenter. Para obtener más información sobre los filtros de Gabor, consulte Texture Segmentation Using Gabor Filters.
Mejorar una máscara segmentada
Image Segmenter proporciona acceso a varias herramientas que puede usar para mejorar la máscara que ha creado.
Herramienta | Descripción |
---|---|
Morphology | Muchas técnicas morfológicas, como la dilatación y la erosión. Para ver un ejemplo, consulte Refine Segmentation Using Morphology in Image Segmenter. |
Active contours (también conocida como snakes) | Un método iterativo que amplía o reduce regiones de una imagen. Identifique las regiones con puntos semilla. Para ver un ejemplo, consulte Segment Image Using Active Contours in Image Segmenter. |
Clear borders | Una forma rápida de eliminar regiones pequeñas del borde de la imagen. |
Fill holes | Una forma rápida de rellenar huecos pequeños en regiones en primer plano. Para ver un ejemplo, consulte Refine Segmentation Using Morphology in Image Segmenter. |
Invert mask | En ocasiones, la segmentación es más fácil de evaluar si invierte el primer plano y el fondo. Para ver un ejemplo, consulte Segmentar una imagen usando Auto Cluster en Image Segmenter. |
Exportar resultados de la segmentación
Cuando encuentre una segmentación aceptable, puede exportar al área de trabajo la imagen de la máscara de segmentación final y la versión segmentada de la imagen original. Para exportar la máscara y la segmentación al área de trabajo, haga clic en Export y seleccione Export Images.
También puede generar el código utilizado para realizar la segmentación (requiere Statistics and Machine Learning Toolbox). Utilice el código para aplicar el mismo algoritmo de segmentación a imágenes similares. Para obtener el código, haga clic en Export y seleccione Generate Function. La app abre el editor de MATLAB®, que contiene una función con el código generado automáticamente. Para guardar el código, haga clic en Save en el editor de MATLAB.