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

La reconstrucción morfológica

Descripción

ejemplo

J = imreconstruct(marker,mask) realiza la reconstrucción morfológica de la imagen bajo 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 en son mayores que los elementos correspondientes en, a continuación, recorta los valores al nivel antes de iniciar el procedimiento.markermaskimreconstructmask

Opcionalmente, puede realizar una reconstrucción morfológica de imágenes en 2-D usando una GPU (requiere).Parallel Computing Toolbox™ Para obtener más información, consulte.Procesamiento de imágenes en una GPU

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

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

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

mask = adapthisteq(I); figure imshow(mask)

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

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

Realice una abertura morfológica en la imagen de la máscara, utilizando la imagen del marcador para identificar objetos de alta intensidad en la máscara. Mostrar resultados.

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

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

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

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

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

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

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

Leer la imagen de máscara y crear.gpuArray

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

Crear imagen de marcador.gpuArray

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

Realice la segmentación y visualice el resultado.

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

Argumentos de entrada

contraer todo

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

Para realizar la reconstrucción morfológica utilizando una GPU, especifique como una que contenga una matriz lógica o numérica 2-D. no admite imágenes RGB ni imágenes 3D en una GPU.markergpuArrayimreconstruct

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

Ejemplo: marker = gpuArray(imread('text.png'));

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

Para realizar la reconstrucción morfológica utilizando una GPU, especifique como una que contenga una matriz lógica o numérica 2-D. no admite imágenes RGB ni imágenes de máscara 3D en una GPU.maskgpuArrayimreconstruct

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

Ejemplo: mask = gpuArray(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 en 2-D y para imágenes 3D.826

Valor

Significado

Two-Dimensional Connectivities

4-connected

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

8-connected

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

Three-Dimensional Connectivities

6-conectado

Los píxeles se conectan si se tocan las caras. El vecindario de un píxel son los píxeles adyacentes en:

  • Una de estas direcciones: en, fuera, izquierda, derecha, arriba y abajo

18-conectado

Los píxeles se conectan si sus caras o aristas se tocan. El vecindario de un píxel son los píxeles adyacentes en:

  • Una de estas direcciones: en, fuera, izquierda, derecha, arriba y abajo

  • Una combinación de dos direcciones, como la derecha-abajo o en

26-conectado

Los píxeles se conectan si sus caras, aristas o esquinas se tocan. El vecindario de un píxel son los píxeles adyacentes en:

  • Una de estas direcciones: en, fuera, izquierda, derecha, arriba y abajo

  • Una combinación de dos direcciones, como la derecha-abajo o en

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

Para cotas superiores, 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 con valor definen las ubicaciones de vecindad con respecto al elemento central de.1conn Tenga en cuenta que debe ser simétrica sobre su elemento central.conn Consulte para obtener más información.Especificación de Connectivities 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 es el mismo tamaño que la imagen de entrada.

Si la reconstrucción morfológica se realiza mediante una GPU, se devuelve como una que contiene una matriz numérica o lógica.JgpuArray

Sugerencias

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

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

Algoritmos

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