图像中两个像素之间的距离有多种定义方式,图像处理中常用的距离有欧式距离、街区距离和棋盘距离。本章中将重点介绍这三种距离的定义方式,以及如何利用两个像素间的距离来描述一幅图像。欧式距离,两个像素点之间的直线距离。与直角坐标系中两点之间的直线距离求取方式相同,分别计算两个像素在X方向和Y方向上的距离,之后利用勾股定理得到两个像素之间的距离。
根据欧式距离的定义,图像中两个像素之间的距离可以含有小数部分,例如图像中的两个像素点1,0)和P2(0,1)之间的欧式距离为d=1.414。在一个5×5的矩阵内,所有像素距离矩阵中心的欧式距离。
街区距离,两个像素点X方向和Y方向的距离之和。欧式距离表示的是从一个像素点到另一个像素点的最短距离,然而有时我们并不能以两个点之间连线的方向前进,例如在一个城市内两点之间的连线可能存在障碍物的阻碍,因此从一个点到另一个点需要沿着街道行走,因此这种距离的度量方式被称为街区距离。街区距离就是由一个像素点到另一个像素点需要沿着X方向和Y方向一共行走的距离。
根据街区距离的定义,图像中两个像素之间的距离一定为整数,例如图像中的两个像素点(L,O)和P(0,1)之间的街区距离为=2。在一个5×5的矩阵内,所有像素距离矩阵中心的街区距离如图。
棋盘距离,两个像素点X方向距离和Y方向距离的最大值。与街区距离相似,棋盘距离也是假定两个像素点之间不能够沿着连线方向靠近,像素点只能沿着X方向和Y方向移动,但是棋盘距离并不是表示由一个像素点移动到另一个像素点之间的距离,而是表示两个像素点移动到同一行或者同一列时需要移动的最大距离。
根据棋盘距离的定义,图像中两个像素之间的距离一定为整数,例如图像中的两个像素点1,0)和P(0,)之间的欧式距离为=1。在一个5×5的矩阵内,所有像素距离矩阵中心的棋盘距离如图。
计算图像中非0像素距离0像素的最小距离,而图像中0像素表示黑色,因此为了保证能够清楚的观察到距离变换的结果,不建议使用尺寸过小或者黑色区域较多的图像,否则函数处理后的图像中几乎全为黑色,不利于观察。