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