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.

bwtraceboundary

Objeto Trace en imagen binaria

Descripción

B = bwtraceboundary(BW,P,fstep) rastrea el contorno de un objeto en imagen binaria.BW Los píxeles distintos de cero pertenecen a un objeto y los píxeles de valor cero constituyen el fondo. especifica las coordenadas de fila y columna del punto en el límite del objeto donde desea que comience el seguimiento. especifica la dirección de búsqueda inicial para el siguiente píxel de objeto conectado a . contiene las coordenadas de fila y columna de los píxeles de límite de la región.PfstepPB

B = bwtraceboundary(BW,P,fstep,conn) rastrea el límite, donde especifica la conectividad deseada.conn

ejemplo

B = bwtraceboundary(BW,P,fstep,conn,m,dir) especifica , el número máximo de píxeles de límite que se extraerán y , la dirección en la que se va a trazar el límite.mdir De forma predeterminada, identifica todos los píxeles del límite.bwtraceboundary

Ejemplos

contraer todo

Lea una imagen y muésela.

BW = imread('blobs.png'); imshow(BW)

Designe un objeto en la imagen y trace el límite. Para seleccionar un objeto, especifique un píxel en su límite. En este ejemplo se utilizan las coordenadas de un píxel en el límite del círculo blanco grueso, obtenido a través de la inspección visual mediante .impixelinfo De forma predeterminada, identifica todos los píxeles del límite.bwtraceboundary

r1 = 163; c1 = 37; contour = bwtraceboundary(BW,[r1 c1],'W');

Trazar el contorno en la imagen.

hold on plot(contour(:,2),contour(:,1),'g','LineWidth',2)

Designe un punto en el límite de un segundo objeto. En este ejemplo se utilizan las coordenadas de un píxel cerca de la esquina superior izquierda del rectángulo más grande. Trace los primeros cincuenta píxeles de límite en el sentido de las agujas del reloj.

r2 = 68; c2 = 95; contourCW = bwtraceboundary(BW,[r2 c2],'W',8,50,'clockwise');

Comenzando en el mismo punto en el segundo límite del objeto, trace los primeros cincuenta píxeles de límite en el sentido contrario a las agujas del reloj.

contourCCW = bwtraceboundary(BW,[r2 c2],'W',8,50,'counterclockwise');

Trazar el contorno en el sentido de las agujas del reloj en la imagen en rojo. Trazar el contorno en sentido contestado en la imagen en azul.

plot(contourCW(:,2),contourCW(:,1),'r','LineWidth',2) plot(contourCCW(:,2),contourCCW(:,1),'b','LineWidth',2)

Argumentos de entrada

contraer todo

Imagen binaria, especificada como una matriz numérica o lógica 2D.

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

Coordenadas del punto inicial en el límite del objeto donde desea que comience el seguimiento, especificado como un vector de 2 elementos del formato.[row column]

Tipos de datos: double

Dirección de búsqueda inicial para el siguiente píxel de objeto conectado a , especificado como vector de caracteres o escalar de cadena como se muestra en el diagrama.P

Nota

Cuando la conectividad es , se limita a los valores , , , y .conn4fstep'N''E''S''W'

Tipos de datos: char | string

Conectividad de píxeles, especificada como o .84

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.

Tipos de datos: double

Número máximo de píxeles de límite que se extraerán, especificadocomo un entero positivo. De forma predeterminada, es e identifica todos los píxeles del límite.mInfbwtraceboundary

Tipos de datos: double

Dirección en la que se trazar el límite, especificado como o .'clockwise''counterclockwise'

Tipos de datos: char | string

Argumentos de salida

contraer todo

Coordenadas de fila y columna de los píxeles de límite de la región, devueltas como una matriz -by-2.q Cada fila tiene el formulario .B[row column]

Algoritmos

La función implementa el algoritmo de seguimiento Moore-Neighbor modificado por los criterios de detención de Jacob.bwtraceboundary Esta función se basa en la función presentada en la primera edición de, por González, R. C., R. E. Woods, y S. L. Eddins, Nueva Jersey, Pearson Prentice Hall, 2004.boundariesProcesamiento de imágenes digitales mediante MATLAB

Referencias

[1] Gonzalez, R. C., R. E. Woods, and S. L. Eddins, Digital Image Processing Using MATLAB, New Jersey, Pearson Prentice Hall, 2004.

Capacidades ampliadas

Consulte también

|

Introducido antes de R2006a