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

Trace objeto en la imagen binaria

Descripción

B = bwtraceboundary(BW,P,fstep) traza el contorno de un objeto en la 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 contorno del objeto donde desea que comience el seguimiento. Especifica la dirección de búsqueda inicial para el siguiente píxel del objeto conectado. contiene las coordenadas de fila y columna de los píxeles de contorno de la región.PfstepPB

B = bwtraceboundary(BW,P,fstep,conn) traza el contorno, 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 contorno que se extraen y la dirección en la que se traza el contorno.mdir De forma predeterminada, identifica todos los píxeles del contorno.bwtraceboundary

Ejemplos

contraer todo

Leer una imagen y mostrarla.

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

Designe un objeto de la imagen y trace el contorno. Para seleccionar un objeto, especifique un píxel en su contorno. Este ejemplo utiliza las coordenadas de un píxel en el contorno del círculo blanco grueso, obtenido mediante la inspección visual.impixelinfo De forma predeterminada, identifica todos los píxeles del contorno.bwtraceboundary

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

Trace el contorno en la imagen.

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

Designe un punto en el contorno de un segundo objeto. Este ejemplo utiliza las coordenadas de un píxel cerca de la esquina superior izquierda del rectángulo más grande. Trace los primeros 50 píxeles de contorno 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 50 píxeles de contorno en la dirección contraria a las agujas del reloj.

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

Trace el contorno en sentido horario en la imagen en rojo. Trace el contorno en sentido de las agujas del reloj 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 lógica o numérica 2-D.

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

Coordenadas del punto de inicio en el contorno 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 del objeto conectado, especificado como un vector de caracteres o un escalar de cadena como se muestra en el diagrama.P

Nota

Cuando la conectividad está, 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

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.

Tipos de datos: double

Número máximo de píxeles de contorno que se extraen, especificados como un entero positivo. De forma predeterminada, es e identifica todos los píxeles del contorno.mInfbwtraceboundary

Tipos de datos: double

Dirección en la que se traza el contorno, 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 contorno de la región, devueltas como una matriz a-by-2.q Cada fila en tiene el formulario.B[row column]

Algoritmos

La función implementa el algoritmo de rastreo de vecino Moore 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 con 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