Contenido principal

Segmentar una imagen dibujando regiones mediante Image Segmenter

En este ejemplo se muestra cómo segmentar una imagen en la app Image Segmenter dibujando regiones de interés. Image Segmenter ofrece muchas formas de ROI diferentes, incluidos polígonos, rectángulos, elipses y círculos. Además, puede dibujar formas a mano alzada o formas a mano alzada asistidas que le ayudan a seguir la forma subyacente de los objetos en la imagen.

Image Segmenter ofrece muchos métodos de segmentación diferentes y el uso de la app puede ser un proceso iterativo. Puede probar diferentes métodos hasta que consiga los resultados deseados.

Cargar una imagen en Image Segmenter

Abra la app Image Segmenter y cargue la imagen que desea segmentar. La app puede abrir cualquier archivo que se pueda leer con imread.

Para este ejemplo, lea una imagen en el área de trabajo. Aquí se utiliza una imagen de resonancia magnética de una rodilla. El objetivo es crear una imagen de máscara que segmente el hueso del tejido blando de la imagen.

I = dicomread("knee1");
knee = mat2gray(I);

Abra la app Image Segmenter desde la barra de herramientas de MATLAB®. En la pestaña Apps de la sección Image Processing and Computer Vision, haga clic en Image Segmenter .

En la barra de herramientas de la app, haga clic en Load y, a continuación, seleccione Load image from Workspace. En el cuadro de diálogo Import from Workspace, seleccione la imagen que ha leído en el área de trabajo. Image Segmenter muestra la imagen seleccionada.

Image Segmenter app showing a scan of a human knee.

También puede abrir una imagen en la app Image Segmenter utilizando el comando imageSegmenter, tal como se muestra a continuación:

imageSegmenter(knee);

Después de cargar una imagen en la app, opcionalmente puede cargar una máscara binaria existente. Por ejemplo, puede 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.

Utilizar herramientas de ROI para dibujar regiones para la segmentación

Expanda el grupo Add to Mask y haga clic en Draw ROIs. La app abre la pestaña ROI.

The ROI tab is shown with the Assisted Freehand option selected

Seleccione el tipo de ROI que desea dibujar. Para este ejemplo, elija Assisted Freehand. Al mover el cursor por la imagen, cambia a la forma de retículo. Pulse el botón del ratón y empiece a dibujar una forma a mano alzada sobre la parte de la imagen que desea segmentar. Con la opción de ROI Assisted Freehand, que está preseleccionada, puede dibujar una forma a mano alzada que sigue automáticamente los bordes de la imagen subyacente para ayudarle a dibujar una ROI más precisa. Mientras dibuja, haga clic con el ratón para crear waypoints. Los waypoints pueden ayudarle a realizar ajustes precisos en la forma después de terminar de dibujar. Para agregar waypoints adicionales después de terminar de dibujar, haga doble clic en el borde de la ROI.

Waypoints are shown outlining a segmented portion of the knee scan.

Continúe dibujando formas hasta identificar todas las áreas que desea segmentar. Para guardar las regiones que ha dibujado, haga clic en Apply (su color cambia a amarillo). Para volver a la pestaña Segmentation, haga clic en Close ROI.

The ROI tab is open and knee scan has three segments defined that are now shaded in yellow.

Para ver la imagen de máscara, haga clic en Show Binary en la pestaña Segmentation. Para refinar la imagen de máscara, utilice las herramientas de la sección Refine Mask de la barra de herramientas de la app Image Segmenter, como Clear Borders o Fill Holes. Cuando haya acabado, haga clic en Export para guardar la imagen de máscara en el área de trabajo.

The screenshot shows the scan with Show Binary selected. The background is in black and the three segments are in white.

Consulte también

Temas