Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

imreconstruct

Reconstrucción morfológica

Descripción

ejemplo

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

Opcionalmente, puede realizar la reconstrucción morfológica de imágenes 2D usar una GPU (requiere ).Parallel Computing Toolbox™

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

Ejemplos

contraer todo

Leer y mostrar una imagen en escala de grises.

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

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

mask = adapthisteq(I); imshow(mask)

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

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

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

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

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

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

Cree una imagen de marcador que identifique el objeto de la imagen que desea extraer a través de la segmentación. Para este ejemplo, identifique la "w" en la palabra "cuenca".

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

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

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

Argumentos de entrada

contraer todo

Imagen de entrada, especificada como una matriz numérica o lógica.

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 una matriz numérica o lógica 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 valores de esta tabla. La conectividad predeterminada es para imágenes 2D y para imágenes 3D.826

Valor

Significado

Conectividades bidimensionales

4 conectados

Los píxeles están conectados si sus bordes se tocan. La vecindad de un píxel son los píxeles adyacentes en la dirección horizontal o vertical.

8 conectados

Los píxeles están conectados si sus bordes o esquinas se tocan. La vecindad de un píxel son los píxeles adyacentes en la dirección horizontal, vertical o diagonal.

Conectividades tridimensionales

6 conectados

Los píxeles están conectados si sus caras se tocan. La vecindad de un píxel son los píxeles adyacentes en:

  • Una de estas direcciones: entrada, salida, izquierda, derecha, arriba y abajo

18 conectados

Los píxeles están conectados si sus caras o aristas se tocan. La vecindad de un píxel son los píxeles adyacentes en:

  • Una de estas direcciones: entrada, salida, izquierda, derecha, arriba y abajo

  • Una combinación de dos direcciones, como el derecho hacia abajo o hacia arriba

26 conectados

Los píxeles están conectados si sus caras, aristas o esquinas se tocan. La vecindad de un píxel son los píxeles adyacentes en:

  • Una de estas direcciones: entrada, salida, izquierda, derecha, arriba y abajo

  • Una combinación de dos direcciones, como el derecho hacia abajo o hacia arriba

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

Para dimensiones más altas, utiliza el valor predeterminadoimreconstruct conndef(ndims(marker),'maximal').

La conectividad también se puede definir de una manera más general para cualquier dimensión especificando una matriz de 3 por 3 por ... por 3 de s y s.01 Los elementos -valued definen ubicaciones de vecindad relativas al elemento central de .1conn Tenga en cuenta que debe ser simétrico sobre su elemento central.conn Consulte para obtener más información.Especificación de conectividades personalizadas

Tipos de datos: double | logical

Argumentos de salida

contraer todo

Imagen reconstruida, devuelta como una matriz numérica o lógica, dependiendo de la imagen de entrada, que tiene el mismo tamaño que la imagen de entrada.

Sugerencias

  • La reconstrucción morfológica es la base algorítmica para varias otras funciones, incluyendo , , , , , , y .Image Processing Toolbox™imclearborderimextendedmaximextendedminimfillimhmaximhminimimposemin

  • Performance note: Esta función puede aprovechar la optimización del hardware para los tipos de datos , , , , y para ejecutarse más rápido.logicaluint8uint16singledouble La optimización del hardware requiere y ser imágenes 2D y ser o .markermaskconn48

Algoritmos

utiliza el algoritmo de reconstrucción de escala de grises híbrido rápido descrito en .imreconstruct[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

Introducido antes de R2006a