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.
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.
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.
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.
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.