Contenido principal

imdilate

Dilatar una imagen

Descripción

J = imdilate(I,SE) dilata una imagen en escala de grises, binaria o binaria empaquetada I utilizando el elemento estructurante SE.

ejemplo

J = imdilate(I,nhood) dilata la imagen I, en la que nhood es una matriz de 0 y 1 que especifica el entorno del elemento estructurante.

Esta sintaxis es equivalente a imdilate(I,strel(nhood)).

J = imdilate(___,packopt) especifica si I es una imagen binaria empaquetada.

J = imdilate(___,shape) especifica el tamaño de la imagen de salida.

Ejemplos

contraer todo

Lea una imagen binaria en el área de trabajo.

BW = imread("text.png");

Cree un elemento estructurante en forma de línea vertical.

se = strel("line",11,90);

Dilate la imagen con un elemento estructurante de línea vertical.

BW2 = imdilate(BW,se);

Compare la imagen original y la dilatada.

imshow(BW)
title("Original")

Figure contains an axes object. The hidden axes object with title Original contains an object of type image.

imshow(BW2)
title("Dilated")

Figure contains an axes object. The hidden axes object with title Dilated contains an object of type image.

Lea una imagen en escala de grises en el área de trabajo.

originalI = imread("cameraman.tif");

Cree un elemento estructurante no plano, con forma de esfera.

se = offsetstrel("ball",5,5);

Dilate la imagen.

dilatedI = imdilate(originalI,se);

Muestre la imagen original y la dilatada.

imshowpair(originalI,dilatedI,"montage")

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

Cree un volumen 3D lógico con dos puntos.

BW = false(100,100,100);
BW(25,25,25) = true;
BW(75,75,75) = true;

Dilate el volumen 3D utilizando un elemento estructurante esférico.

se = strel("sphere",25);
dilatedBW = imdilate(BW,se);

Muestre el volumen de la imagen dilatada.

isosurface(dilatedBW,0.5)
axis equal

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

Argumentos de entrada

contraer todo

Imagen de entrada, especificada como imagen en escala de grises o imagen binaria empaquetada de cualquier dimensión.

Tipos de datos: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

Elemento estructurante, especificado como un objeto escalar strel o un objeto offsetstrel. SE también puede ser un arreglo de objetos strel o de objetos offsetstrel, en cuyo caso imdilate realiza múltiples dilataciones de la imagen de entrada, utilizando cada elemento estructurante sucesivamente.

imdilate realiza la dilatación de escala de grises para todas las imágenes, excepto las de tipo logical. En este caso, el elemento estructurante debe ser plano y imdilate realiza la dilatación binaria.

Entorno del elemento estructurante, especificado como matriz con valores 0 y 1.

Ejemplo: [0 1 0; 1 1 1; 0 1 0]

Indicador de imagen binaria empaquetada, especificado como uno de los siguientes:

Valor

Descripción

"notpacked"

I se trata como un arreglo normal.

"ispacked"

I se trata como una imagen binaria empaquetada como la producida por bwpack. I debe ser un arreglo 2D de uint32 y SE debe ser un elemento estructurante 2D plano. El valor de shape debe ser "same".

Tipos de datos: char | string

Tamaño de la imagen de salida, especificado como uno de los siguientes.

Valor

Descripción

"same"

La imagen de salida tiene el mismo tamaño que la imagen de entrada. Si el valor de packopt es "ispacked", shape debe ser "same".

"full"

Calcula la dilatación completa.

Tipos de datos: char | string

Argumentos de salida

contraer todo

Imagen dilatada, devuelta como imagen en escala de grises, imagen binaria o imagen binaria empaquetada. Si la imagen de entrada I es binaria empaquetada, J también es binaria empaquetada. J tiene el mismo tipo de datos que I.

Más acerca de

contraer todo

Sugerencias

  • Si la dimensionalidad de la imagen I es mayor que la dimensionalidad del elemento estructurante, la función imdilate aplica la misma dilatación morfológica a todos los planos en las dimensiones más altas.

    Puede utilizar este comportamiento para realizar la dilatación morfológica de imágenes RGB. Especifique un elemento estructurante 2D en el caso de las imágenes RGB para que el cierre se ejecute en cada canal de color por separado.

  • Cuando se especifica un entorno del elemento estructurante, imdilate determina el elemento central de nhood por floor((size(nhood)+1)/2).

  • imdilate aprovecha automáticamente la descomposición de un objeto de elemento estructurante (si existe). Además, al realizar la dilatación binaria con un objeto de elemento estructurante que tenga una descomposición, imdilate utiliza automáticamente el empaquetamiento de imágenes binarias para acelerar la dilatación [3].

Referencias

[1] Gonzalez, Rafael C., Richard E. Woods, and Steven L. Eddins. Digital Image Processing Using MATLAB. Third edition. Knoxville: Gatesmark Publishing, 2020.

[2] Haralick, Robert M., and Linda G. Shapiro. Computer and Robot Vision. 1st ed. USA: Addison-Wesley Longman Publishing Co., Inc., 1992, pp. 158-205.

[3] Boomgaard, Rein van den, and Richard van Balen. “Methods for Fast Morphological Image Transforms Using Bitmapped Binary Images.” CVGIP: Graphical Models and Image Processing 54, no. 3 (May 1, 1992): 252–58. https://doi.org/10.1016/1049-9652(92)90055-3.

Capacidades ampliadas

expandir todo

Historial de versiones

Introducido antes de R2006a

expandir todo