zoukankan      html  css  js  c++  java
  • 像素间的基本关系-距离(转)

    定义

    对于像素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

  • 相关阅读:
    How many ways
    HDOj-1016 Prime Ring Problem
    DHU-1241 Oil Deposits
    Red and Black
    HDU-3790 最短路径问题
    vim/Gvim配置
    lintcode431- Connected Component in Undirected Graph- medium
    lintcode120- Word Ladder- medium
    lintcode531- Six Degrees- medium- microsoft
    lintcode624- Remove Substrings- medium
  • 原文地址:https://www.cnblogs.com/wxdlut/p/7019446.html
Copyright © 2011-2022 走看看