Преобразование расстояния обеспечивает метрику или меру разделения точек в изображении. bwdist
функция вычисляет расстояние между каждым пикселем, для которого задано значение off
(0
) и ближайший ненулевой пиксель для бинарных изображений.
The 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)
Чтобы вычислить преобразование расстояния дополнения бинарного изображения, используйте bwdist
функция. На изображении преобразования расстояния обратите внимание, как центры двух округлых областей являются белыми.
D = bwdist(~bw); figure imshow(D,[])