4邻接、8邻接、m邻接及像素的度量距离

数字图像处理中像素间的一些基本关系,在此做一下简要记录.

先引入几个邻域概念: 

        (1)位于坐标(x,y)处的像素p有4个水平和垂直的相邻像素,其坐标是

\left ( x+1, y \right ) \left ( x-1,y \right )\left ( x,y+1 \right )\left ( x,y-1 \right )

则这组像素称为p的4邻域,使用\mathbf{N_{4}\left ( p \right )}表示.

        (2)p的四个对角相邻像素的坐标是

\left ( x+1, y+1 \right ) \left ( x+1,y-1 \right )\left ( x-1,y+1 \right )\left ( x-1,y-1 \right )

\mathbf{N_{D}\left ( p \right )}表示.

       (3) 以上所有的点并称为p的8邻域,用\mathbf{N_{8}\left ( p \right )}表示.

先设定一个用于定义邻接性的灰度值集合,称为V.

在二值图像中,如果把具有1值的像素归诸于邻接像素,则V={1}.

在灰度图像中,该集合也是相同的概念,只不过V可以含有0~255的任意元素.

举个例子,V={14,37,247,255},说明这些灰度值的像素块可以来判断邻接性.

在接下来介绍时我们以二维图像为例来介绍邻接性.

4邻接

如果q在集合N_{4}\left ( p \right )中,则具有V中数值的两个像素p和q是4邻接的.

如上图所示,四周的四个红色像素块q均和p是四邻接的.

(特别注意,这是针对二维图像的情况,默认p和q都是1,若是灰度图像,还需要考虑p和q中的数值是否在V中!!!  以下例子都须注意该点,在之后不再重复说明)

8邻接

如果q在集合N_{8}\left ( p \right )中,则具有V中数值的两个像素p和q是8邻接的.

如上图所示,四周的8个红色像素块q均和p是八邻接的. 

特殊说明_8邻接的二义性

如上图所示,中间的"1"有两条路径(黄色路径&&红色路径)可到达右上角的"1" ,这就称作8邻接的二义性.在边缘检测时不希望出现这种二义性,故引入m邻接来消除采用8邻接时产生的二义性.

m邻接

如果

①q在N_{4}\left ( p \right )

②q在N_{D}\left ( p \right )中,且集合N_{4}\left ( p \right )\bigcap N_{4}\left ( q \right )中没有来自V中的数值的像素

则具有V中数值的两个像素p和q是m邻接的.

如下左图中p和q就不是m邻接,因为不满足集合N_{4}\left ( p \right )\bigcap N_{4}\left ( q \right )中没有来自V中的数值的像素,也就是p和q除了直接连通外还有另一条折线路径可连通.

而如下右图中p和q就是m邻接的.

 度量距离

定义:

对于坐标分别为\left ( x,y \right )\left ( s,t \right )\left ( v,w \right )的像素p,q和z,如果

(a)  D\left ( p,q \right )\geqslant 0\left [ D\left ( p,q \right )= 0 \,while\,p = q\right ]       (正定性)

(b)  D\left ( p,q \right ) = D\left ( q,p \right )                                           (对称性)

(c)  D\left ( p,z \right ) \leqslant D\left ( p,q \right ) + D\left ( q,z \right )                     (距离三角不等式)

D是距离函数或度量。

以下介绍几个重点的距离定义——

①欧几里得(欧式)距离D_{e}

D_{e}\left ( p,q \right ) = \left [ \left ( x-s \right )^{2} + \left ( y-t \right )^{2} \right ]^{1/2}

对于欧式距离,距点\left ( x,y \right )的距离小于等于某个值r的像素,是中心在\left ( x,y \right )且半径为r圆平面

②城市街区距离D_{4}

D_{4}\left ( p,q \right ) = \left | x-s \right | + \left | y - t \right |

对于城市街区距离,距点\left ( x,y \right )的距离小于等于某个值r的像素形成一个中心在(x,y)菱形,如下图所示。

③棋盘距离D_{8}

D_{8}\left ( p,q \right ) = max(\left | x-s \right | , \left | y - t \right |)

对于棋盘距离,距点\left ( x,y \right )的距离小于等于某个值r的像素形成一个中心在(x,y)方形,如下图所示。

④m邻接距离D_{m} 

D_{m}\left ( p, q \right ) =The\,shortest\,\,path\,\,between\,\,points\,\,\mathbf{p}\,\,and\,\,\boldsymbol{q}

在此举例说明 

如上图所示,在这种情况下,p和p2就不是m邻接,所以p和q的m邻接距离

D_{m}(p, q) = 3 

对于上图这种情况,p和p2是m邻接,p2和q也是m邻接,故p和q的m邻接距离

D_{m}(p, q) = 2

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在图卷积网络(Graph Convolutional Network,GCN)中,确定邻接矩阵是非常重要的一步。邻接矩阵描述了图中节点之间的连接关系,它是GCN中的核心输入之一。 通常情况下,确定邻接矩阵的方法有以下几种: 1. 基于图结构:如果你已经有了图的结构信息,可以直接根据节点之间的连接关系构建邻接矩阵。例如,对于无向图,邻接矩阵A的元A[i][j]表示节点i和节点j是否相连,可以用0和1表示。对于有向图,邻接矩阵可以是一个二维矩阵,其中A[i][j]表示从节点i到节点j是否存在一条有向边。 2. 基于相似度度量:如果你只有节点的特征信息而没有具体的图结构,可以通过计算节点之间的相似度来确定邻接矩阵。常用的相似度度量方法包括余弦相似度、欧氏距离等。根据相似度的阈值,可以将相似度高于阈值的节点连接起来,形成邻接矩阵。 3. 基于K近邻:在某些情况下,可以使用K近邻算法来确定邻接矩阵。对于每个节点,可以选择与其最近的K个节点作为其邻居节点,然后构建邻接矩阵。这种方法适用于节点之间的距离或相似度度量。 4. 基于领域划分:有时候,可以根据领域划分的方法来确定邻接矩阵。将图中的节点划分为不同的领域或子图,然后根据领域之间的连接关系构建邻接矩阵。 以上是一些常见的确定邻接矩阵的方法,具体选择哪种方法取决于你的数据和任务需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值