Преобразование расстояния обеспечивает метрику или меру разделения точек в изображении. bwdist
функция вычисляет расстояние между каждым пикселем, который установлен в off
(0 ) и самый близкий ненулевой пиксель для двухуровневых изображений.
bwdist
функционируйте поддерживает несколько метрик расстояния, перечисленных в следующей таблице.
Метрики расстояния
Метрика расстояния | Описание | Рисунок |
---|---|---|
Евклидов | Евклидово расстояние является расстоянием по прямой между двумя пикселями. |
|
Городской квартал | Метрика расстояния городского квартала измеряет путь между пикселями на основе связанного с 4 окружения. Пиксели, ребра которых затрагивают, являются 1 модулем независимо; пиксели, по диагонали затрагивающие, являются 2 модулями независимо. |
|
Шахматная доска | Метрика расстояния шахматной доски измеряет путь между пикселями на основе связанного с 8 окружения. Пиксели, ребра которых или угловое касание являются 1 модулем независимо. |
|
Квазиевклидов | Квазиевклидова метрика измеряет общее Евклидово расстояние вдоль набора горизонтали, вертикальных, и диагональных линейных сегментов. |
|
Этот пример создает двухуровневое изображение, содержащее два пересекающихся круговых объекта.
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), title('bw')
Чтобы вычислить преобразование расстояния дополнения двухуровневого изображения, используйте bwdist
функция. В изображении преобразования расстояния отметьте, как центры двух круговых областей являются белыми.
D = bwdist(~bw); figure, imshow(D,[]), title('Distance transform of ~bw')