当前位置:C++技术网 > 资讯 > 图像处理中的两个像素之间的像素距离计算公式理解分析

图像处理中的两个像素之间的像素距离计算公式理解分析

更新时间:2015-11-18 15:05:35浏览次数:1+次

    在两个位图图像像素之间,要计算像素之间的距离,则需要使用到数学的距离公式。我们来了解一下。
    两个像素点之间的距离使用距离函数来计算,距离函数也可以叫做度量。
    距离函数或者说距离定义必须满足:
   
    对定义的理解如下:
    0.D(P,Q)就表示的是P点和Q点之间的距离值。在编程中,你就可以将D当做一个求距离的函数,在数学中也是一个函数,一致的。P,Q则是函数的参数。得到参数的返回值就是求得的两个点的距离。
    1.距离必须是大于等于0的值,且仅当两点重合时,距离等于0.
    2.距离没有方向性,即P点到Q点和Q点到P点的距离是一样的。
    3.距离是可以分解和叠加的,但是分解后的子距离之和一定大于等于总距离。
   

    以下是常见的几种距离函数:
1.欧式距离(最短直线距离)
    这是我们数学中学习的直线距离公式:
   
    两个点的之间直线距离最短,就是这个欧式距离哦。不管从哪个点出发,到另一个点的距离就是两个点之间的距离长度为半径,两个点分别为圆心画出的圆相交的部分的中间的直线,如下图所示:
   
2.D4距离(街区距离)
    D4模型即只能横竖两个方向走,也就是说P点相邻接的点是X的四个点,斜向的不是邻接的哦。D4模型图如下:
   
    D4模型也就是街区的模型,就是只能走横竖两个方向,不能走斜向。你可以理解为,直线相交的点就是建筑物,是不可穿越的。所以你只能老老实实的走直线。两个点的距离就是横向加竖向的距离之和。公式如下:
   
    街区模型图如下:
   

3.D8距离(棋盘距离,可直线可斜线)
    D8的模型就是围着P点的所有元素都是相邻的,也就是它下一步可以走到包围它的八个点的任何一个,也就是横竖和斜向。如下图所示:
   
    研究这其实有意外的惊喜。对于可以横竖和斜向走的最短距离,竟然就是横向或竖向的距离的最大值哦。
    公式如下:
   
    这是棋盘模型,你可以想象中国象棋的“士”走叉,兵走直线,就知道这个棋盘模型了。如下图所示:
   
    在图像处理中,像素之间的距离是最基本的概念了,必须掌握。而书上的那些数学公式,看着就头疼,太难理解了。所以我理解出来,就总结分享出来了。