Transformada de distancia de una imagen binaria
La transformada de distancia proporciona una métrica o una medida de la separación de los puntos de la imagen. La función bwdist
calcula la distancia entre cada píxel que está establecido en off
(0
) y el píxel distinto de cero más próximo para las imágenes binarias.
La función bwdist
admite varias métricas de distancia.
Métricas de distancia
Métrica de distancia | Descripción | Ilustración |
---|---|---|
Euclidiana | La distancia euclidiana es la distancia en línea recta entre dos píxeles. |
|
City block | La métrica de distancia city block mide la trayectoria entre los píxeles basada en un entorno de conectividad 4. Los píxeles cuyos bordes se tocan están espaciados en una unidad; los píxeles que se tocan en diagonal están espaciados en dos unidades. |
|
Chessboard | La métrica de distancia chessboard mide la trayectoria entre los píxeles basada en un entorno de conectividad 8. Los píxeles cuyos bordes o esquinas se tocan están espaciados en una unidad. |
|
Cuasi-euclidiana | La métrica cuasi-euclidiana mide la distancia euclidiana total en un conjunto de segmentos de rectas horizontales, verticales y diagonales. |
|
Este ejemplo crea una imagen binaria que contiene dos objetos circulares que se entrecruzan.
center1 = -10; center2 = -center1; dist = sqrt(2*(2*center1)^2); radius = dist/2 * 1.4; lims = [floor(center1-1.2*radius) ceil(center2+1.2*radius)]; [x,y] = meshgrid(lims(1):lims(2)); bw1 = sqrt((x-center1).^2 + (y-center1).^2) <= radius; bw2 = sqrt((x-center2).^2 + (y-center2).^2) <= radius; bw = bw1 | bw2; figure imshow(bw)
Para calcular la transformada de distancia del complemento de la imagen binaria, utilice la función bwdist
. En la imagen de la transformada de distancia, observe que los centros de las dos áreas circulares son blancos.
D = bwdist(~bw); figure imshow(D,[])