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.

imreconstruct

Reconstrucción morfológica

Descripción

ejemplo

J = imreconstruct(marker,mask) realiza la reconstrucción morfológica de la imagen marker debajo de la imagen mask y devuelve la reconstrucción en J. Los elementos de marker deben ser menores o iguales a los elementos correspondientes de mask. Si los valores en marker son mayores que los elementos correspondientes en mask, imreconstruct recorta los valores al nivel de mask antes de iniciar el procedimiento.

J = imreconstruct(marker,mask,conn) realiza la reconstrucción morfológica con la conectividad especificada, conn.

Ejemplos

contraer todo

Lea una imagen en escala de grises y muéstrela.

I = imread('snowflakes.png');
imshow(I)

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

Ajuste el contraste de la imagen para crear la imagen de máscara y muestre los resultados.

mask = adapthisteq(I);
imshow(mask)

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

Cree una imagen marcadora que identifique los objetos de alta intensidad en la imagen mediante la erosión morfológica y muestre los resultados.

se = strel('disk',5);
marker = imerode(mask,se);
imshow(marker)

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

Realice una apertura morfológica en la imagen de máscara, utilizando la imagen marcadora para identificar los objetos de alta intensidad en la máscara. Muestre el resultado.

obr = imreconstruct(marker,mask);
imshow(obr,[])

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

Lea una imagen lógica en el área de trabajo y muéstrela. Esta es la imagen de máscara.

mask = imread('text.png');
figure
imshow(mask)

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

Cree una imagen marcadora que identifique el objeto de la imagen que desea extraer mediante la segmentación. Para este ejemplo, identifique la "w" en la palabra "watershed".

marker = false(size(mask));
marker(13,94) = true;

Realice la segmentación de la imagen de máscara utilizando la imagen marcadora.

im = imreconstruct(marker,mask);
figure
imshow(im)

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

Argumentos de entrada

contraer todo

Imagen de entrada, especificada como arreglo numérico o lógico.

Ejemplo: se = strel('disk',5); marker = imerode(mask,se);

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

Imagen de máscara, especificada como arreglo numérico o lógico del mismo tamaño y tipo de datos que marker.

Ejemplo: mask = imread('text.png');

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

Conectividad de píxeles, especificada como uno de los siguientes valores de la tabla. La conectividad por defecto es 8 para imágenes 2D y 26 para imágenes 3D.

Valor

Significado

Conectividades bidimensionales

4

Los píxeles se consideran conectados si comparten bordes. El entorno de un píxel son los píxeles adyacentes en las direcciones horizontal y vertical.

3-by-3 pixel neighborhood with four pixels connected to the center pixel

El píxel actual se muestra en gris.

8

Los píxeles se consideran conectados si comparten bordes o vértices. El entorno de un píxel son los píxeles adyacentes en las direcciones horizontal, vertical y diagonal.

3-by-3 pixel neighborhood with 8 pixels connected to the center pixel

El píxel actual se muestra en gris.

Conectividades tridimensionales

6

Los píxeles se consideran conectados si comparten caras. El entorno de un píxel son los píxeles adyacentes en:

  • Alguna de estas direcciones: adentro, afuera, izquierda, derecha, arriba y abajo

3-by-3-by-3 pixel neighborhood with 6 pixels connected to the faces of the center pixel

El píxel actual se muestra en gris.

18

Los píxeles se consideran conectados si sus caras o bordes se tocan. El entorno de un píxel son los píxeles adyacentes en:

  • Alguna de estas direcciones: adentro, afuera, izquierda, derecha, arriba y abajo

  • Una combinación de dos direcciones, como derecha-abajo o adentro-arriba

3-by-3-by-3 pixel neighborhood with 6 pixels connected to the faces and 12 pixels connected to the edges of the center pixel

El píxel actual es el centro del cubo.

26

Los píxeles se consideran conectados si sus caras, bordes o vértices se tocan. El entorno de un píxel son los píxeles adyacentes en:

  • Alguna de estas direcciones: adentro, afuera, izquierda, derecha, arriba y abajo

  • Una combinación de dos direcciones, como derecha-abajo o adentro-arriba

  • Una combinación de tres direcciones, como adentro-derecha-arriba o adentro-izquierda-abajo

3-by-3-by-3 pixel neighborhood with 6 pixels connected to the faces, 12 pixels connected to the edges, and 8 pixels connected to the corners of the center pixel

El píxel actual es el centro del cubo.

En el caso de dimensiones más grandes, imreconstruct utiliza el valor por defecto conndef(ndims(marker),'maximal').

La conectividad puede definirse de una forma más general para cualquier dimensión especificando una matriz de 3 por 3 por ... por 3 con valores 0 y 1. Los elementos con el valor 1 definen los entornos relativos al elemento central de conn. Tenga en cuenta que conn debe ser simétrica respecto de su elemento central. Para obtener más información, consulte Especificar conectividades personalizadas.

Tipos de datos: double | logical

Argumentos de salida

contraer todo

Imagen reconstruida, devuelta como arreglo numérico o lógico, dependiendo de la imagen de entrada, del mismo tamaño que la imagen de entrada.

Sugerencias

  • La reconstrucción morfológica es la base algorítmica de varias otras funciones de Image Processing Toolbox™, entre ellas imclearborder, imkeepborder, imextendedmax, imextendedmin, imfill, imhmax, imhmin y imimposemin.

  • Performance note: Esta función puede sacar ventaja de la optimización de hardware que hace que los algoritmos que usan los tipos de datos logical, uint8, uint16, single y double se ejecuten más rápido. La optimización del hardware requiere que marker y mask sean imágenes 2D y que conn sea 4 u 8.

Algoritmos

imreconstruct utiliza el algoritmo de reconstrucción híbrida en escala de grises rápida descrito en [1].

Referencias

[1] Vincent, L., "Morphological Grayscale Reconstruction in Image Analysis: Applications and Efficient Algorithms," IEEE Transactions on Image Processing, Vol. 2, No. 2, April, 1993, pp. 176-201.

Capacidades ampliadas

Historial de versiones

Introducido antes de R2006a

expandir todo