Преобразование расстояния двухуровневого изображения

Преобразование расстояния обеспечивает метрику или меру разделения точек в изображении. 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')