像素间的基本关系-距离(转)

Posted wxdlut

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了像素间的基本关系-距离(转)相关的知识,希望对你有一定的参考价值。

定义

对于像素p、q和z,分别具有坐标(x,y),(s,t)和(u,v),如果

(1) D(p,q) ≥ 0        (当且仅当p=q时,D(p,q)=0)

(2) D(p,q) = D(q,p)

(3) D(p,z) ≤ D(p,q) + D(q,z)

则称D是距离函数或度量

欧几里得(欧式)距离

像素p(x,y)和q(s,t)间的欧式距离,就是我们在直角坐标系中最常用的两点间的直线距离,定义如下:

 

技术分享
欧式距离

 

示意图如下,A与B之间的欧氏距离就是A到B的直线距离:

 

技术分享
欧式距离示意图

D4距离(城市距离)

像素p(x,y)和q(s,t)之间的D4距离定义为:

D4(p,q) = |x – s| + |y – t|   

通俗地来理解,p和q是一座大城市里面的两座房子,在这城市里面的大街上走路只能直走或者90度转弯,从p走到q经过的距离就是城市距离。例如,与点(x,y)(中心点)D4距离小于等于2的所有像素如下图所示:

 

技术分享
D4距离

具有D4 = 1的像素是(x,y)的4邻域

D4距离又可以这样理解:从点p向点q出发,每次能走一下个点必须是在当前像素点的4邻域中,一步一步走到q点,一共经过的像素点数就是D4距离

D8距离(棋盘距离)

像素p(x,y)和q(s,t)之间的D8距离定义为:

D8(p,q) = max(|x – s| ,|y – t|)

两点之间的棋盘距离就是以这两点为一条对角线的矩形的较长的那条边

例如,与点(x,y)(中心点)D8距离小于等于2的像素,形成如下图所示的中心在(x,y)的正方形

 

技术分享
D8距离

具有D8 = 1的像素是(x,y)的8邻域

D8距离又可以这样理解:从点p向点q出发,每次能走一下个点必须是在当前像素点的8邻域中,一步一步走到q点,一共经过的像素点数就是D8距离

注:

D4距离和D8距离与任何通路无关,仅仅与两点的坐标有关。但是如果是m距离

http://www.jianshu.com/p/dc07ba10854c





以上是关于像素间的基本关系-距离(转)的主要内容,如果未能解决你的问题,请参考以下文章

[转]距离的计算方法

PHP根据两点间的经纬度计算距离,php两点经纬度计算(转)

什么是两点之间的距离 什么定义

数字图像处理——基本运算

希尔伯特空间(转)

计算树形节点间的距离