[−][src]Function imageproc::distance_transform::distance_transform
pub fn distance_transform(image: &GrayImage, norm: Norm) -> GrayImage
Returns an image showing the distance of each pixel from a foreground pixel in the original image.
A pixel belongs to the foreground if it has non-zero intensity. As the image has a bit-depth of 8, distances saturate at 255.
Examples
use image::GrayImage; use imageproc::distance_transform::{distance_transform, Norm}; let image = gray_image!( 0, 0, 0, 0, 0; 0, 0, 0, 0, 0; 0, 0, 1, 0, 0; 0, 0, 0, 0, 0; 0, 0, 0, 0, 0 ); // L1 norm let l1_distances = gray_image!( 4, 3, 2, 3, 4; 3, 2, 1, 2, 3; 2, 1, 0, 1, 2; 3, 2, 1, 2, 3; 4, 3, 2, 3, 4 ); assert_pixels_eq!(distance_transform(&image, Norm::L1), l1_distances); // LInf norm let linf_distances = gray_image!( 2, 2, 2, 2, 2; 2, 1, 1, 1, 2; 2, 1, 0, 1, 2; 2, 1, 1, 1, 2; 2, 2, 2, 2, 2 ); assert_pixels_eq!(distance_transform(&image, Norm::LInf), linf_distances);