像素间的关系(邻接、连通、区域、边界、距离定义)

news2024/9/21 19:37:49

文章目录

      • 像素的相邻像素
        • 4邻域
        • D邻域
        • 8邻域
      • 邻接、连通、区域和边界
        • 邻接类型
        • 连通
        • 区域
        • 边界
      • 距离测度
        • 欧氏距离
        • 城市街区距离(city-block distance)
        • 棋盘距离(chessboard distance)
      • 参考

像素的相邻像素

4邻域

坐标 ( x , y ) (x,y) (x,y)处的像素 p p p有2个水平的相邻像素和2个垂直的相邻像素,它们的坐标是:
( x + 1 , y ) , ( x − 1 , y ) , ( x , y + 1 ) , ( x , y − 1 ) (x+1,y),(x-1,y),(x,y+1),(x,y-1) (x+1,y),(x1,y),(x,y+1),(x,y1)

这组像素称为 p p p4邻域,用 N 4 ( p ) N_4(p) N4(p)表示。

D邻域

p p p的4个对角相邻像素的坐标是:
( x + 1 , y + 1 ) , ( x + 1 , y − 1 ) , ( x − 1 , y + 1 ) , ( x − 1 , y − 1 ) (x+1,y+1),(x+1,y-1),(x-1,y+1),(x-1,y-1) (x+1,y+1),(x+1,y1),(x1,y+1),(x1,y1)
这组像素称为 p p pD邻域,用 N D ( p ) N_D(p) ND(p)表示。

8邻域

4邻域和D邻域合称为 p p p的8邻域,即 N 8 ( p ) = N 4 ( p ) + N D ( p ) N_8(p)=N_4(p)+N_D(p) N8(p)=N4(p)+ND(p)。点 p p p的相邻像素的图像位置集合称为 p p p的邻域,如果一个邻域包含 p p p,那么称该邻域为闭邻域,否则成为开邻域。

邻接、连通、区域和边界

V V V是用于定义邻接的灰度值集合。在二值图像中,指值为1的像素的邻接时, V = { 1 } V=\{1\} V={1}。在灰度图像中,这一概念相同,但集合 V V V通常包含更多的元素。例如,如果正在处理其值域为0到255的像素的邻接,那么集合 V V V可能是这256个值的任何一个子集。注意 V V V中的值可以不止一个,通常是一组相邻或相似的像素值集合。考虑三种类型的邻接:

邻接类型
  1. 4邻接: q q q在集合 N 4 ( p ) N_4(p) N4(p)中时,值在 V V V中的两个像素 p p p q q q是4邻接的。
  2. 8邻接: q q q在集合 N 8 ( p ) N_8(p) N8(p)中时,值在 V V V中的两个像素 p p p q q q是8邻接的。
  3. m m m邻接(也称混合邻接):满足以下两个条件之一
    1. q q q N 4 ( p ) N_4(p) N4(p)中。
    2. q q q N D ( p ) N_D(p) ND(p)中,但 N 4 ( p ) ∩ N 4 ( q ) N_4(p)\cap N_4(q) N4(p)N4(q)没有值在 V V V中的像素,那么值在V中的两个像素 p p p q q q m m m邻接的。

混合邻接用于消除8邻接的二义性。考虑下图的像素排列,并令 V = { 1 } V=\{1\} V={1}

image-20240906110439360

左图采用8邻接时,中间的1和右上角的1之间存在两条通路。二者之间是8邻接的,但并不是m邻接的(因为二者的 N 4 N_4 N4有交集正上方的1),因此如果采用m邻接方式,则如右图所示,中间的1和右上角的1之间仅存在一条通路。

从坐标为 ( x 0 , y 0 ) (x_0,y_0) (x0,y0)的像素 p p p到坐标 ( x n , y n ) (x_n,y_n) (xn,yn)的像素 q q q的数字通路(或曲线)是不同的像素序列,这些像素的坐标为:
( x 0 , y 0 ) , ( x 1 , y 1 ) , . . . , ( x n , y n ) (x_0,y_0),(x_1,y_1),...,(x_n,y_n) (x0,y0),(x1,y1),...,(xn,yn)
式中,点 ( x i , y i ) (x_i,y_i) (xi,yi)和点 ( x i − 1 , y i − 1 ) (x_{i-1},y_{i-1}) (xi1,yi1) 1 ≤ i ≤ n 1\le i \le n 1in时是邻接的。此时, n n n是通路的长度 ( x 0 , y 0 ) = ( x n , y n ) (x_0,y_0)=(x_n,y_n) (x0,y0)=(xn,yn)时,即起点和终点相同时,通路是闭合通路。

具体举例可以看参考链接。

在这里再提到一些最短通路的计算技巧:

  1. 8邻接中最短通路优先考虑斜线。
  2. m m m邻接中是在最短8通路的基础上,优先考虑斜线但需要考虑是否满足 m m m邻接的第二个条件。
  3. 4邻接中两个像素点是否存在通路可以通过看起点和终点是否有满足4邻接的像素点快速判断 。
连通

S S S表示图像中像素的一个子集。如果完全由 S S S中所有像素组成的两个像素 p p p q q q之间存在一个通路,那么称 p p p g g g S S S中是连通的。对于S中的任何像素 p p p,在 S S S中连通到该像素的像素集称为 S S S的连通分量。若S仅有一个连通分量,则集合S称为连通集。(表现为S中任意两个像素之间都是连通的

区域

R R R表示图像中像素的一个子集。若 R R R是一个连通集,则称 R R R为图像的一个区域。两个区域 R i R_i Ri R j R_j Rj联合形成一个连通集时,称 R i R_i Ri R j R_j Rj为邻接区域。不邻接的区域称为不相交区域。谈到区域时,我们通常考虑的是4邻接和8邻接。如仅在使用8邻接时,下图的两个1值区域才是邻接的。

image-20240906111953996

假设一幅图像含有 K K K个不相交的区域 R R R k = 1 , 2 , ⋯   , K k=1,2,\cdots,K k=1,2,,K,并且它们都不与图像边界相接。令 R u R_u Ru表示所有 K K K个区域的并集,并且令 ( R u ) c (R_u)^c (Ru)c表示其补集(集合A的补集是不在A中的点的集合)。我们称 R u R_u Ru中的所有点为图像的前景,而称 ( R u ) c (R_u)^c (Ru)c中的所有点为图像的背景

边界

区域 R R R的边界(也称边框或轮廓)是 R R R中与 R R R的补集中的像素相邻的一组像素。换句话说,一个区域的边界是该区域中至少有一个背景邻点的像素集。这里,我们必须再次指定用于定义邻接的连通。例如,如果在区域及其背景之间使用4连通,那么下图中加圈的点就不是1值区域边界的成员。因为这个点和背景之间唯一可能的连接是对角线。为处理这种情况,一个区域及其背景中的点之间的邻接通常用8连通来定义。

image-20240906112537236

前面的定义有时称为区域的内边界,以便与其外边界区分,外边界是背景中的对应边界。在开发跟踪边界的算法时,这一区别很重要。这种算法为了保证结果形成一个闭合通路,通常是沿外边界表达的。

距离测度

对于坐标分别为 ( x , y ) , ( u , v ) (x,y),(u,v) (x,y),(u,v) ( w , z ) (w,z) (w,z)的像素 p p p, q q q s s s,如果同时满足以下三个条件:

  1. D ( p , q ) ≥ 0 D(p,q) \ge 0 D(p,q)0 [ D ( p , q ) = 0 D(p,q) =0 D(p,q)=0,当且仅当 p = q p=q p=q]
  2. D ( p , q ) = D ( q , p ) D(p,q)=D(q,p) D(p,q)=D(q,p)
  3. D ( p , s ) ≤ D ( p , q ) + D ( q , s ) D(p,s) \le D(p,q)+D(q,s) D(p,s)D(p,q)+D(q,s)

D D D是一个距离函数或距离测度。

欧氏距离

p p p q q q之间的欧几里得(欧氏)距离定义为:
D e ( p , q ) = [ ( x − u ) 2 + ( y v ) 2 ] 1 2 D_e(p,q)=[(x-u)^2+(y_v)^2]^{\frac 1 2} De(p,q)=[(xu)2+(yv)2]21
对于这个距离测度,到点 ( x , y ) (x,y) (x,y)的距离小于等于 r r r的像素,是中心在 ( x , y ) (x,y) (x,y)、半径为 r r r的圆盘。

城市街区距离(city-block distance)

p p p q q q之间的 D 4 D_4 D4距离(称为城市街区距离)定义为:
D 4 ( p , q ) = ∣ x − u ∣ + ∣ y − v ∣ D_4(p,q)=|x-u|+|y-v| D4(p,q)=xu+yv
此时,到 ( x , y ) (x, y) (x,y)的距离 D 4 D_4 D4小于等于 d d d的像素形成一个中心为 ( x , y ) (x,y) (x,y)的菱形。例如,到 ( x , y ) (x,y) (x,y)(中心点)的距离 D D D小于等于2的像素形成如下恒定距离的轮廓:

image-20240906162938216

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

棋盘距离(chessboard distance)

p p p q q q之间的 D 8 D_8 D8距离(称为棋盘距离)定义为:
D 8 ( p , q ) = m a x ( ∣ x − u ∣ , ∣ y − v ∣ ) D_8(p,q)=max(|x-u|,|y-v|) D8(p,q)=max(xu,yv)
此时,到 ( x , y ) (x,y) (x,y)的距离 D 8 D_8 D8小于等于 d d d的像素形成一个中心为 ( x , y ) (x,y) (x,y)的正方形。例如,到中心点 ( x , y ) (x,y) (x,y)的距离 D D D小于等于2的像素形成如下恒定距离的轮廓:

image-20240906163413804

其中 D 8 = 1 D_8=1 D8=1的像素是位于点 ( x , y ) (x,y) (x,y)处的像素的8邻域

参考

数字图像处理(第四版)-冈萨雷斯

图像处理:像素间的一些基本关系(领域、领接性、通路、连通分量、距离)_m邻接-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2111529.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

kali 2024 安装SageMath

kali2024安装sagemath避坑指南 安装遇到的问题Install from conda-forge使用mamba安装sage 安装遇到的问题 刚开始使用sudo apt -y install sagemath和源码安装遇到各种包冲突,有的还涉及到系统底层包,没有避开。然后尝试使用mamba安装成功,…

93. UE5 GAS RPG 应用负面效果表现

在上一篇文章里,我们实现了添加负面效果GE,并且在添加GE时,也会给角色应用一个负面效果标签作为标识。在这一篇里,我们将通过负面效果标签标识,应用角色身上展现对应的负面效果的表现。 我们将在这篇文章里添加一个自定…

第一个React程序

虽然跟着网上的视频,但是都是几年前的教学视频了,于是就在视频的引导下,自己使用vite脚手架建立一个React项目。 首先来到vite官网: 和当时建立vue项目一样,使用该命令创建,只是后面选择框架时选择react&a…

《机器学习》 基于SVD的矩阵分解 推导、案例实现

目录 一、SVD奇异值分解 1、什么是SVD 2、SVD的应用 1)数据降维 2)推荐算法 3)自然语言处理 3、核心 1)什么是酉矩阵 2)什么是对角矩阵 4、分解过程 二、推导 1、如何求解这三个矩阵 1)已知&#xf…

10款好用的电脑监控软件推荐丨2024年干货整理,赶紧码住!

选择合适的电脑监控软件可以帮助企业和个人更好地管理和保护其计算机资源。以下是10款较为好用的电脑监控软件推荐。 1. 安企神 7天试用体验https://work.weixin.qq.com/ca/cawcde06a33907e60a 简介:安企神是一款专为企业设计的信息安全管理软件,提供…

算法_队列+宽度优先搜索

文章目录 前言N叉树的层序遍历题目要求题目解析代码如下 二叉树最大宽度题目要求题目解析代码如下 在每个树中找最大值题目要求题目解析代码如下 二叉树的锯齿形层序遍历题目要求题目解析代码如下 前言 本文将会向你介绍有关队列宽度优先搜索的题目:N叉树的层序遍历…

目标检测-RT-DETR

RT-DETR (Real-Time Detection Transformer) 是一种结合了 Transformer 和实时目标检测的创新模型架构。它旨在解决现有目标检测模型在速度和精度之间的权衡问题,通过引入高效的 Transformer 模块和优化的检测头,提升了模型的实时性和准确性。RT-DETR 可…

Linux-实用指令

目录 前言 指定运行级别 基本介绍 切换运行级别 指令类 帮助指令 man 获得帮助信息 help指令 文件目录类 pwd指令 ls指令 cd指令 mkdir命令 rmdir指令删除空目录 touch指令 cp指令 rm指令 mv指令 cat指令 more指令 less指令 echo指令 head指令 tail指令…

2024.9.6 作业

手写unique_ptr指针指针 代码&#xff1a; #include <iostream> #include <stdexcept>template <typename T> class unique_ptr { public:// 构造函数explicit unique_ptr(T* ptr nullptr) : m_ptr(ptr) {}// 析构函数~unique_ptr() {delete m_ptr;}// 禁…

设置GB/T35114服务

GB/T35114服务是下联模式&#xff0c;支持GB/T35114标准A级双向认证&#xff0c;支持国密系列硬件设备。 操作步骤 在配置-》设备-》级联配置-》GB服务配置 进行编辑。 1、点击 编辑 2、修改国标服务器地址 3、如果其他参数也需要修改&#xff0c;都可自定义&#xff0c;除了国…

FME教程:通过更新读模块,解决FME读取shapefile数据,提示意外输入,“在转换中,某些读取的要素与工作空间的要素类不匹配……”的问题

目录 一、问题情况 二、解决方法 一、问题情况 在使用制作好的FME模板读取shapefile数据时&#xff0c;有时候会遇到弹窗提示意外输入&#xff0c;模板无法运行&#xff0c;在日志信息中警示“在转换中&#xff0c;某些读取的要素与工作空间的要素类不匹配。可能由于读模块的…

2024年全国大学生数学建模竞赛(E题) 建模解析|交通流量管控|小鹿学长带队指引全代码文章与思路

我是鹿鹿学长&#xff0c;就读于上海交通大学&#xff0c;截至目前已经帮200人完成了建模与思路的构建的处理了&#xff5e; 本篇文章是鹿鹿学长经过深度思考&#xff0c;独辟蹊径&#xff0c;实现综合建模。独创复杂系统视角&#xff0c;帮助你解决国赛的难关呀。 完整内容可以…

【前端学习】AntV G6-06 使用图算法

课程链接 图算法 Algorithm | G6 (antgroup.com) 【例子 pageRank】 ​​​​​​力导向图布局 | G6 (antgroup.com) 重点部分添加注释 import G6 from antv/g6;const { pageRank } G6.Algorithm; // 在此引入 pageRankconst container document.getElementById(containe…

无人机之报警器的作用

一、紧急救援与辅助搜救 紧急救援&#xff1a;在事故或紧急情况下&#xff0c;无人机报警器可以迅速发出警报&#xff0c;指引救援人员前往事故地点&#xff0c;提高救援效率。 辅助搜救&#xff1a;无人机搭载报警器可以辅助寻找失踪人员或其他需要搜救的场景&#xff0c;通…

MySQL数据库的介绍

目录 1.什么是MySQL数据库 2.MySQL数据库的设计 MySQL的进一步认识 MySQL的客户端 —— mysql MySQL的服务端 —— mysqld 3.MySQL数据库的架构 MySQL架构图 连接层 服务层 存储引擎层 文件系统层 4.MySQL的存储引擎 认识存储引擎 MySQL中的存储引擎 存储引擎之…

电工类 ,今日行业动态

电工类今日行业动态 一、技术发展趋势 智能化、自动化推进&#xff1a;随着人工智能、物联网等技术的不断发展&#xff0c;电工行业正逐步向智能化、自动化转型。智能电网、智能家居等领域的快速发展&#xff0c;对电工技术提出了新的要求&#xff0c;电工人员需要不断学习和…

使用matplotlib绘制散点图、柱状图和饼状图-学习篇

一、散点图 Python代码如下&#xff1a; num_points 100 x np.random.rand(num_points) #x点位随机 y np.random.rand(num_points) #y点位随机 colors np.random.rand(num_points) #颜色随机 sizes 1000 * np.random.rand(num_points) # 大小随机 alphas np.random.ran…

网络安全评测评技术与标准

网络安全测评概况 概念 参照一定的标准规范要求&#xff0c;通过一系列技术和管理方法&#xff0c;获取评估对象网络安全状况信息&#xff0c;对其给出相应网络安全情况综合判定 测评对象&#xff1a;信息系统的组成要素或信息系统自身 CC&#xff08;Common Criteria&#…

Versioned Staged Flow-Sensitive Pointer Analysis

VSFS 1.Introduction2.Approach2.1.相关概念2.2.VSFS 3.Evaluation参考文献 1.Introduction 上一篇blog我介绍了目前flow-sensitive pointer analysis常用的SFS算法。相比IFDS-based方法&#xff0c;SFS显著通过稀疏分析提升了效率&#xff0c;但是其内部依旧有许多冗余计算&a…

12道经典性能测试人员面试题

1.性能测试包含了哪些软件测试&#xff08;至少举出3种&#xff09;&#xff1f; 参考答案&#xff1a;负载测试、压力测试、容量测试。 负载测试&#xff08;Load Testing&#xff09;&#xff1a;负载测试是一种主要为了测试软件系统是否达到需求文档设计的目标&#xff0c…