Contenido principal

grayconnected

Seleccionar regiones contiguas de una imagen con valores de grises similares usando la técnica de relleno por difusión

Descripción

BW = grayconnected(I,row,column) encuentra una región conectada de intensidad similar en la imagen en escala de grises I. Especifique los índices row y column del punto inicial, el píxel semilla. La función devuelve una máscara binaria, BW, que indica qué píxeles tienen conectividad 8 con el píxel semilla con una intensidad similar.

ejemplo

BW = grayconnected(I,row,column,tolerance) especifica el intervalo de valores de intensidad para incluirlo en la máscara, como en [(seedvalue-tolerance),(seedvalue+tolerance)].

Ejemplos

contraer todo

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

I = imread('cameraman.tif');
imshow(I)

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

Segmente el cielo de la imagen usando la técnica de relleno por difusión. Seleccione un píxel del cielo para que sea la ubicación semilla. En este ejemplo se usa el píxel con coordenada (50, 50) (fila, columna). Llame a la función grayconnected especificando la imagen que se desea segmentar y esta ubicación semilla.

J = grayconnected(I,50,50);

Muestre la región segmentada en color sobre la imagen original usando la función labeloverlay. La región segmentada incluye píxeles del cielo de conectividad 8 con el píxel semilla. La región no incluye píxeles de intensidad similar que estén desconectados, como el cielo visible entre las patas del trípode.

imshow(labeloverlay(I,J))

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

Segmente la chaqueta del cámara usando la técnica de relleno por difusión. Seleccione un píxel de la chaqueta como ubicación semilla. En este ejemplo se especifica el píxel semilla con coordenada (110, 65) (fila, columna). Llame a la función grayconnected especificando la imagen que se desea a segmentar y esta ubicación semilla.

J2 = grayconnected(I,110,65);

Muestre la imagen segmentada en color sobre la imagen original. La región segmentada incluye todos los píxeles de conectividad 8 con el píxel semilla. El trípode y el pelo del cámara tienen una intensidad similar a la de la chaqueta, por lo que se incluyen en la región segmentada.

imshow(labeloverlay(I,J2))

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

Cree una imagen de muestra pequeña.

I = uint8([20 22 24 23 25 20 100
           21 19 12 13 12 30 6
           22 11 13 12 24 25 5
           23 13 13 13 24 25 5
           24 27 13 12 12 13 5
           25 26  5 28 29 50 6]);

Especifique los índices de fila y columna de la ubicación semilla. El valor de la ubicación semilla es 23.

seedrow = 4;
seedcol = 1;

Especifique la tolerancia.

tol = 3;

Cree una imagen de máscara especificando la ubicación semilla y la tolerancia. La máscara incluye todos los píxeles de conectividad 8 con el píxel semilla y con un valor en el intervalo [20, 26]. La máscara excluye los píxeles con valores en escala de grises dentro del intervalo de tolerancia que no tengan una conectividad 8, como el píxel con coordenada (3, 6) (fila, columna).

BW = grayconnected(I,seedrow,seedcol,tol)
BW = 6×7 logical array

   1   1   1   1   1   1   0
   1   0   0   0   0   0   0
   1   0   0   0   0   0   0
   1   0   0   0   0   0   0
   1   0   0   0   0   0   0
   1   1   0   0   0   0   0

Argumentos de entrada

contraer todo

Imagen en escala de grises, especificada como matriz numérica.

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

Índice de fila del píxel semilla, especificado como entero positivo.

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

Índice de columna del píxel semilla, especificado como entero positivo.

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

Tolerancia de valores de intensidad que desea incluir en la máscara, especificada como escalar numérico. La máscara incluye todos los píxeles con un valor en el intervalo [(seedvalue-tolerance),(seedvalue+tolerance)]. De forma predeterminada, la tolerancia es 32 para imágenes con valor entero y 0.1 para imágenes de punto flotante.

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

Argumentos de salida

contraer todo

Máscara binaria de la región conectada, devuelta como arreglo lógico del mismo tamaño que I. Todos los píxeles de primer plano indican los píxeles de la imagen de conectividad 8 con el píxel semilla con intensidad similar.

Tipos de datos: logical

Capacidades ampliadas

expandir todo

Historial de versiones

Introducido en R2015b

Consulte también

| |