Main Content

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.

Image data and distance transform for Euclidean distance

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.

Image data and distance transform for city block distance

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.

Image data and distance transform for chessboard distance

Cuasi-euclidiana

La métrica cuasi-euclidiana mide la distancia euclidiana total en un conjunto de segmentos de rectas horizontales, verticales y diagonales.

Image data and distance transform for quasi-Euclidean distance

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,[])

Grayscale image in which objects are white and pixels become darker as the distance from the objects increases.

Consulte también

Temas relacionados