Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

Utilizar la apertura morfológica para extraer características de imágenes grandes

La apertura morfológica se puede usar para eliminar objetos pequeños de una imagen a la vez que se conservan la forma y el tamaño de los objetos más grandes de la imagen.

En este ejemplo, se utiliza la apertura morfológica en una imagen de una placa de circuito para eliminar todas las líneas de circuito de la imagen. La imagen de salida solamente contiene formas rectangulares de los microchips.

Abrir una imagen en un solo paso

Puede utilizar la función imopen para llevar a cabo erosión y dilatación en un paso.

Lea la imagen en el área de trabajo y muéstrela en pantalla.

BW1 = imread('circbw.tif');
figure
imshow(BW1)

Figure contains an axes object. The axes object contains an object of type image.

Cree un elemento estructurante. El elemento estructurante debe ser lo suficientemente grande como para eliminar las líneas cuando se erosiona la imagen, pero no lo suficientemente grande como para eliminar los rectángulos. Debe constar únicamente de valores 1, de modo que se elimine todo excepto las zonas grandes contiguas de los píxeles de primer plano.

SE = strel('rectangle',[40 30]);

Abra la imagen.

BW2 = imopen(BW1, SE);
imshow(BW2);

Figure contains an axes object. The axes object contains an object of type image.

Abrir una imagen realizando erosión y luego dilatación

También puede llevar a cabo erosión y dilatación secuencialmente.

Erosione la imagen con el elemento estructurante. De esta forma se eliminan todas las líneas y se reducen los rectángulos.

BW3 = imerode(BW1,SE);
imshow(BW3)

Figure contains an axes object. The axes object contains an object of type image.

Para restaurar los rectángulos a su tamaño original, dilate la imagen erosionada utilizando el mismo elemento estructurante, SE.

BW4 = imdilate(BW3,SE);
imshow(BW4)

Figure contains an axes object. The axes object contains an object of type image.

Al realizar las operaciones secuencialmente, tiene la flexibilidad de cambiar el elemento estructurante. Cree un elemento estructurante diferente y dilate la imagen erosionada usando el nuevo elemento estructurante.

SE = strel('diamond',15);
BW5 = imdilate(BW3,SE);
imshow(BW5)

Figure contains an axes object. The axes object contains an object of type image.

Consulte también

| | | |

Temas relacionados