转自:像素间的基本关系-连通性(邻接性)

连通性(邻接性)是描述区域和边界的重要概念。

两个像素连通的两个条件是:

1. 两个像素的位置是否相邻

2.两个像素的灰度值是否满足特定的相似性准则(同时满足某种条件,比如在某个集合内或者相等)


我们令V是用于定义连通性的灰度值集合。比如V={x|0<x<125} (x是指像素点的灰度值)。那么:

4连通

对于灰度值在V集合中的像素p和q,如果q在p的4邻域中(即N4(p)),那么称像素p和q是4连通的

4连通示意图

8连通

对于灰度值在V集合中的像素p和q,如果q在p的8邻域中(即N8(p)),那么称像素p和q是8连通的

8连通示意图

m连通(混合连通)

对于灰度值在V集合中的像素p和q,如果:

1. q在p的4邻域中,或者

2. q在p的D邻域中,并且p的4邻域与q的4邻域的交集是空的(即没有灰度值在V集合中的像素点)

那么称这两个像素是是m连通的,即4连通和D连通的混合连通。

m连通示意图

注:m连通(混合连通)是8连通的改进版,这个概念的提出就是为了消除8连通的二义性

转自:像素的邻接性、连通性与距离度量

在介绍像素间的基本关系之前,需要先介绍一个基本概念。

相邻像素:位于坐标(x, y)处的像素p有4个水平和垂直的相邻像素,这组像素成为p的4邻域,用N4(p)表示。

p的4个对角相邻像素用ND(p)表示。它们共同构成了p的8邻域,用N8(p)表示,即N4(p)+ND(p)=N8(p)。

邻接性:看图说话

定义V为邻接性的灰度值集合。在二值图像中,我们把具有1值得像素归诸于邻接像素,即V={1}。看图

4邻接:如果q在集合N4(p)中,则具有V中数值的两个像素p和q是4邻接的。同理,

8邻接:如果q在集合N8(p)中,则具有V中数值的两个像素p和q是8邻接的。

m邻接:如果q在N4(p)中,或者在ND(p)中,而且集合N4(p)与N4(p)的交集没有V中的像素,此为1,则具有V中数值的两个像素p和q是m邻接的。(此处,可直接将V理解为1,更容易理解)。

为什么m邻接少一条?

如果m邻接跟8邻接同样的连接方式看一下,此时是不满足m邻接的定义的。

从图中可以看出8邻接有多条通路,而m邻接只有一条通路,说明了m邻接的引入是为了消除8邻接的二义性。

上图8邻接右上点与右下点的通路为8通路,m邻接的通路为m通路。

连通性:令S为图像中的一个像素子集,s中的全部像素之间存在通路,则可以说两个像素p和q在S中是连通的。对于S中任何像素p,S中连通到该像素的像素集称为S的连通分量。如果S仅有一个连通分量,则集合S称为连通集。(更多解释见数字图像处理第三版P38)

距离度量D:

对于坐标分别为(x, y), (s, t), (v,w)的像素p,q, z

p和q的欧几里得距离:

De(p, q) = [(x - s)2 + (y - t)2]1/2

p和q间的距离D4:

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

这时候距(x, y)的距离D4小于等于某个值r的像素形成一个中心在(x,y)的菱形。距离小于等于2的像素如图

其中D4 = 1的像素就是(x, y)的4邻域

p和q间的距离D8距离:

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

此时距(x, y)的距离D8小于等于某个值r的像素形成一个中心在(x,y)的菱形。距离小于等于2的像素如图

其中D8 = 1的像素就是(x, y)的8邻域。

如果选择m邻接,则两点之间的距离用最短通路定义。(数字图像处理第三版 p41)

四连通、八连通、m连通相关推荐

  1. 联通块 【题目描述】 一个n * m的方格图,一些格子被涂成了黑色,在方格图中被标为1,白色格子标为0。问有多少个四连通的黑色格子连通块。四连通的黑色格子连通块指的是一片由黑色格子组成的区域,其中的每

    联通块 [题目描述] 一个n * m的方格图,一些格子被涂成了黑色,在方格图中被标为1,白色格子标为0.问有多少个四连通的黑色格子连通块.四连通的黑色格子连通块指的是一片由黑色格子组成的区域,其中的每 ...

  2. python 连通区域_二值图像连通区域标记

    原像素矩阵M为: 根据原像素矩阵M大小,初始化标记矩阵labelM: 算法流程 1.    首先要确定是标记8邻域连通还是4邻域连通,如果是8邻域连通,就用模板1,如果是4邻域连通,就用模板2.中间像 ...

  3. 极大连通子图与极小连通子图(带图讲解)

    因为本人对于这一块知识存在疑惑,在学习了相关知识后将自己的理解分享给大家,如有错误,欢迎纠正. 首先我们先明确一下,极小连通子图与极大连通子图是在无向图中进行讨论的. 极大强连通子图是在有向图中进行讨 ...

  4. java 数据类型转换的一场_Java基础 — 四类八种基本数据类型

    整型:整数类型int 一般的数据. long 极大的数据. short 用于特定的场合,比如底层的文件处理或者需要控制占用存储单元空间量的大数组. byte 用于特定的场合,比如底层的文件处理或者需要 ...

  5. OpenCV学习笔记(四十六)——FAST特征点检测features2D OpenCV学习笔记(四十七)——VideoWriter生成视频流highgui OpenCV学习笔记(四十八)——PCA算

    OpenCV学习笔记(四十六)--FAST特征点检测features2D 特征点检测和匹配是计算机视觉中一个很有用的技术.在物体检测,视觉跟踪,三维常年关键等领域都有很广泛的应用.这一次先介绍特征点检 ...

  6. i5四核八线程怎么样_同样四核八线程,Ryzen 3 3100和3300X区别大了!

    AMD在21号晚上发布了Ryzen 3 3100和Ryzen 3 3300X两款主流级处理器,正好对位英特尔即将在月底发布的Core i3-10100和Core i3-10300.除了频率差别之外,这 ...

  7. 造型奇葩!后置四边角八摄手机曝光:但被吐槽毫无作用

    不得不说,这两年各大手机厂商在全面屏和摄像头和像素等方面下足了功夫,特别是后置摄像头,从最开始的单摄到如今的四摄五摄,未来真能凑成一副麻将的感觉,但问题是,要这么多摄像头有什么用?大多数都只是摆设,更 ...

  8. java四类八种基本数据类型

    java基本数据类型就8种,除了这些都是引用型的了.  一.java四类八种基本数据类型 第一类:整型 byte short int long 第二类:浮点型 float double 第三类:逻辑型 ...

  9. 面试准备每日系列:计算机底层之并发编程(一)原子性、atomic、CAS、ABA、可见性、有序性、指令重排、volatile、内存屏障、缓存一致性、四核八线程

    文章目录 1. 什么是进程?什么是线程? 2. 线程切换 3. 四核八线程是什么意思 3.1 单核CPU设定多线程是否有意义 4. 并发编程的原子性 4.1 如何解决原子性问题 & atomi ...

  10. 【零基础学Java】—自定义异常(四十八)

    [零基础学Java]-自定义异常(四十八) 自定义异常类:java提供的异常类,不够我们使用,需要自己定义一个异常类 格式: public class XXXException extends Exc ...

最新文章

  1. springboot取yml中的值_SpringBoot 中从yml配置文件中读取常用的参数值
  2. 什么叫「真的理解」?我们对 AI 的要求或许有点过分
  3. MessageBox不能应用皮肤的解决办法
  4. 华为有造车实力,却坚决不造整车,这背后有着怎样的无奈与思考?
  5. FPGA视频加速的未来
  6. 【计算机网络复习】1.1.1 概念、组成、功能和分类
  7. 首期「线上开发」直播出炉!轻量算法+轻量开发:AI 小白也能上手实操的一款图像分类器...
  8. Java 内存管理、JVM 工作原理与 Java 运行时系统
  9. python︱模块加载(pip安装)以及pycharm安装与报错解决方式
  10. JavaMail简单版实验测试
  11. STC8H开发(十): SPI驱动Nokia5110 LCD(PCD8544)
  12. 解决chrome 停止搜索的解决办法之-- Steganos Internet Anonym 导致
  13. 用pandas和numpy分析药店的营业数据
  14. 一文带你了解什么是云计算网络运维工程师,以及2023年的就业前景
  15. 求求你别再写上千行的类了,试试 IDEA 这些牛逼的重构技巧吧
  16. echarts 词云图使用 + vue
  17. matlab 变分不等式,求解变分不等式的matlab程序
  18. #define用法【转】
  19. ActiveX控件的MFC实现(VS2017,OpenGL)
  20. iphone7运行linux,iPhone 7成新一代刷机神机!继安卓后,又成功运行Linux

热门文章

  1. Electron和Vue
  2. 常见LED灯的颜色波长及应用
  3. Qt复现pure virtual method called报错,与解决办法
  4. K8S之nfs持久化存储
  5. Armbian挂载硬盘(以及自动挂载)
  6. 提高学习能力的巧妙方法
  7. 「首席架构师看无服务器」openwhisk 经典使用案例
  8. Spark 2.0的SparkSession详解
  9. 手游代理平台有哪些,有没有好的游戏平台推荐?推荐云诚盒子
  10. 阿里巴巴、文投控股战略投资万达电影