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

文章目录

      • 像素的相邻像素
        • 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.rhkb.cn/news/417942.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ElasticSearch 集群的索引别名管理

一、索引别名 (一)添加索引别名 1.给单个索引添加别名 POST http://10.0.0.101:9200/_aliases{"actions":[{"add":{"index":"yedu-linux85","alias":"Linux容器运维"} },{"add&q…

Qt QGraphicsView实现图片放缩、鼠标拖动移动、鼠标点位置放大缩小_图片查看

QtQGraphicsView实现图片放缩、鼠标拖动移动、鼠标点位置放大缩小 头文件&#xff1a; #ifndef TIMGWIDGET_H #define TIMGWIDGET_H#include <QGraphicsItem> #include <QMainWindow> #include <QObject> #include <QWidget>// class TImgWidget : pu…

uniapp钱包支付、与设置密码页面

设置密码页面 <template><view class="paymentCodeBox"><!-- 自定义键盘 -->

【ArcGIS Pro实操第二期】最小成本路径(Least-cost path)原理及实操案例

ArcGIS Pro实操第一期&#xff1a;最小成本路径原理及实操案例 概述&#xff08;Creating the least-cost path&#xff09;1.1 原理介绍1.2 实现步骤1.3 应用案例 2 GIS实操2.1 工具箱简介2.1.1 成本路径&#xff08;Cost path&#xff09;2.1.2 成本距离&#xff08;Cost dis…

微信小程序知识点(二)

1.下拉刷新事件 如果页面需要下拉刷新功能&#xff0c;则在页面对应的json配置文件中&#xff0c;将enablePullDownRefresh配置设置为true&#xff0c;如下 {"usingComponents": {},"enablePullDownRefresh": true } 2.上拉触底事件 在很多时候&#x…

《互联网内容审核实战》:搭建团队到绩效激励,一书在手全搞定!“

&#x1f310;在数字时代的浩瀚海洋中&#xff0c;互联网视频、图片、文字等内容如同潮水般汹涌澎湃&#xff0c;它们以惊人的速度传播&#xff0c;连接着世界的每一个角落。这股信息洪流不仅丰富了我们的视野&#xff0c;也带来了前所未有的挑战——如何在享受信息便利的同时&…

Kaggle竞赛——手写数字识别(Digit Recognizer)

目录 1. 数据集介绍2. 数据分析3. 数据处理与封装3.1 数据集划分3.2 将数据转为tensor张量3.3 数据封装 4. 模型训练4.1 定义功能函数4.1 resnet18模型4.3 CNN模型4.4 FCNN模型 5. 结果分析5.1 混淆矩阵5.2 查看错误分类的样本 6. 加载最佳模型7. 参考文献 本次手写数字识别使用…

Lenze伦茨E82ZBC, E82ZBB E82ZMBRB安装说明手测

Lenze伦茨E82ZBC, E82ZBB E82ZMBRB安装说明手测

景联文科技:提供高质量多模态数据标注,推动智能化转型

随着人工智能技术的快速发展&#xff0c;多模态数据标注成为推动智能系统更深层次理解和应用的关键技术之一。 作为行业领先的多模态数据标注服务商&#xff0c;景联文科技凭借其在技术、流程和人才方面的综合优势&#xff0c;推出了全面的多模态标注解决方案&#xff0c;助力…

828华为云征文|部署电影收藏管理器 Radarr

828华为云征文&#xff5c;部署电影收藏管理器 Radarr 一、Flexus云服务器X实例介绍1.1 云服务器介绍1.2 应用场景1.3 性能模式 二、Flexus云服务器X实例配置2.1 重置密码2.2 服务器连接2.3 安全组配置 三、部署 Radarr3.1 Radarr 介绍3.2 Docker 环境搭建3.3 Radarr 部署3.4 R…

枚举: C++和Python实现鸡兔同笼问题

作者制作不易&#xff0c;关注、点赞、收藏一下吧&#xff01; 目录 1.Python实现 2.C实现 1.Python实现 首先&#xff0c;我们需要输入头和脚的数量: head int(input("请输入头的数量: ")) feet int(input("请输入脚的数量: ")) input() 实现输入…

ChauffeurNet:通过模仿最佳驾驶和合成最坏情况进行学习驾驶

ChauffeurNet: Learning to Drive by Imitating the Best and Synthesizing the Worst ChauffeurNet&#xff1a;通过模仿最佳驾驶和合成最坏情况进行学习驾驶 https://arxiv.org/abs/1812.03079 Abstract Our goal is to train a policy for autonomous driving via imit…

基于卷积神经网络的磨削平板类零件擦伤检测

基于卷积神经网络的磨削平板类零件擦伤检测 前言正文 前言 还记得读研那会儿刚学习完了卷积神经网络&#xff0c;初步学会了最基础的分类问题&#xff0c;当时也有点python基础&#xff0c;同时对TensorFlow也有点入门了。正好我的课题中有一类缺陷比较难以用传统方法识别判断&…

【LeetCode】01.两数之和

题目要求 做题链接&#xff1a;1.两数之和 解题思路 我们这道题是在nums数组中找到两个两个数使得他们的和为target&#xff0c;最简单的方法就是暴力枚举一遍即可&#xff0c;时间复杂度为O&#xff08;N&#xff09;&#xff0c;空间复杂度为O&#xff08;1&#xff09;。…

【JAVA入门】Day34 - Stream流

【JAVA入门】Day34 - Stream流 文章目录 【JAVA入门】Day34 - Stream流一、Stream 流的作用和使用步骤1.Stream流的创建&#xff0c;数据的添加2. Stream流的中间方法3. Stream流的终结方法 Stream 流有什么作用&#xff1f;我们看一个例子&#xff1a; 【练习】需求&#xff…

C++入门(01)VisualStudio2022社区版HelloWorld

文章目录 1. 下载社区版2. 安装3. 启动4. 创建新项目5. C空项目6. 项目名称和位置7. 创建后&#xff0c;出现“新增功能”&#xff0c;关闭即可8. 解决方案和项目9. 新建源文件10. 编辑第一个C程序11. 运行该程序12. Debug文件夹13. 用好Microsoft Learn 1. 下载社区版 访问&a…

JavaScript 循环分支语句-dowhile循环

do/while 循环是 while 循环的变体。该循环会在检查条件是否为真之前执行一次代码块&#xff0c;然后如果条件为真的话&#xff0c;就会重复这个循环。 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta htt…

网页时装购物系统:Spring Boot框架的创新设计

第1章 绪论 1.1背景及意义 随着社会的快速发展&#xff0c;计算机的影响是全面且深入的。人们生活水平的不断提高&#xff0c;日常生活中人们对时装购物系统方面的要求也在不断提高&#xff0c;喜欢购物的人数更是不断增加&#xff0c;使得时装购物系统的开发成为必需而且紧迫的…

一种非接触式智能垃圾桶设计(论文+源码+实物)

1系统方案设计 通过对需求展开分析&#xff0c;本设计非接触式智能垃圾桶采用STM32F103单片机作为控制器&#xff0c;通过红外传感器实现垃圾桶的满溢检测&#xff0c;通过三个SG90舵机分别控制可回收、不可回收、其他垃圾桶盖的开关&#xff0c;并通过WiFi通信模块将数据信息…

EmguCV学习笔记 VB.Net 9.2 VideoWriter类

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 EmguCV是一个基于OpenCV的开源免费的跨平台计算机视觉库,它向C#和VB.NET开发者提供了OpenCV库的大部分功能。 教程VB.net版本请访问…