1.欧式距离(Euclidean Distance)
(1)两点间的距离。p和q之间的欧式距离定义如下:
(2)距离直观描述:距点(x,y)小于或等于某一值r的欧式距离是中心在(x,y)半径为r的圆平面。
2.城区距离(Cityblock Distance)
(1)p和q之间的城区距离定义如下:
(2)距离直观描述:距点(x,y)小于或等于某一值r的城区距离是中心在(x,y)对角线为2r的菱形。
3.棋盘距离(Chessboard Distance)
(1)p和q之间的棋盘距离定义如下:
(2)距离直观描述:距点(x,y)小于或等于某一值r的棋盘距离是中心在(x,y)对角线为2r的正方形。
在MATLAB软件函数库中,通过调用函数bwdist()来进行图像的距离变换,函数bwhist()的调用格式如下所示:
D=bwdist(BW);
采用函数bwdist()分别进行三种距离变换,具体MATLAB代码如下:
clear all;(www.xing528.com)
clc;
I=imread('1.png');
J=rgb2gray(I);
subplot(2,2,1);imshow(J);
K=J>Threshold;
T=bwdist(K,'chessboard');
subplot(2,2,2);imshow(T,[]);
T=bwdist(K,'cityblock');
subplot(2,2,3);imshow(T,[]);
T=bwdist(K,'euclidean');
subplot(2,2,4);imshow(T,[]);
首先读取灰度原图,手动设定合适的阈值,然后分别采用三种距离变换方法,最后给每个像素赋值为离它最近的背景像素点与其距离,程序运行结果如图8.17所显示,三种不同距离变换方法的图像变换形状并不相同,且离边界越远的点越亮。
图8.17 函数bwdist()的三种距离变换
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。