0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

像素间的基本关系—邻域、邻接、通路、连通、距离

OpenCV学堂 来源:Java与Android技术栈 2023-12-28 10:41 次阅读

像素是图像的基本元素,像素与像素之间存在着某些联系,理解像素间的基本关系是数字图像处理的基础。常见的像素间的基本关系包括:邻域、邻接、通路、连通、距离。

Part1 1. 邻域

邻域表示了像素之间的连接关系。

像素(x,y)的邻域,是指与像素(x,y)对应的点的集合{(x+p,y+q)} ,其中 (p,q) 为一对有意义的整数。邻域是像素(x,y)附近像素形成的区域,像素 (x,y) 也被称为中心像素。

最常用的邻域有以下几种:

wKgZomWM4NaAY2QrAACtuvEvnHQ314.jpg

daa31e0e-a3fd-11ee-8b88-92fbcf53809c.jpg

邻域.png

邻域是一个很基础的概念。后续我们对图像进行卷积操作的时候,通常是对当前像素的邻域像素进行操作的

以一个最简单的均值滤波为例,均值滤波是对于每一个像素点, 将其设定为取其邻域窗口内的所有像素的平均值。

wKgaomWM4Q-AZxloAABPzLmnb3A848.jpg

这里的模板,也可以被称为核(kernels)、窗口(windows)、掩模(mask)。

下图以 3*3 的模板为例,均值滤波会对原图像的每一个像素点,计算它的邻域像素和模版矩阵的对应元素的乘积,然后加起来,作为该像素位置的值。窗口的移动是从左到右,然后从上到下依次移动。

daae8208-a3fd-11ee-8b88-92fbcf53809c.jpg卷积.png

下面,实现一个简单的均值滤波函数

MatmeanFilter(Mat&src,intksize=3)
{
cv::Matdst=src.clone();

intk0=ksize/2;
intsum[3]={0,0,0};
for(inti=k0;i(i-k0+m,j-k0+n)[channel];
}
}

dst.at(i,j)[channel]=saturate_cast((float)sum[channel]/(ksize*ksize));
}
}
}
returndst;
}

当然这个代码只是粗略地实现均值滤波,存在着很多优化的空间,例如使用积分图、卷积核分离等。OpenCV 也提供了均值滤波函数 blur() 函数。

intmain(intargc,char*argv[])
{
Matsrc=imread(".../flower.jpg");
imshow("src",src);
Matdst;

dst=meanFilter(src,15);
imshow("meanFilter",dst);

blur(src,dst,Size(15,15));
imshow("blur",dst);

waitKey(0);
return0;
}
dabe3fe0-a3fd-11ee-8b88-92fbcf53809c.jpg

均值滤波函数效果.png

上面只是简单例举了领域的使用场景,后续会有专门的文章来详细介绍卷积和滤波。

Part2 2. 邻接

邻接是指两个像素,在位置上相邻并且取值相同或相近

我们用 V 表示定义邻接的灰度值集合。在二值图像中,V={1} 表示值为1的像素邻接。在灰度图像中,V 包含更多的元素。

wKgaomWM4TuAL31qAACRxEJ94ZI436.jpg

像素 p 和 q 是 4 邻接,那么它们一定是 8 邻接的。反之,不一定成立。

下图反应了 8 邻接会带来二义性。

dac40cae-a3fd-11ee-8b88-92fbcf53809c.jpg邻接.png

从图中可以看到,p 是中心像素。

q1、q2 和 p 是 8 邻接的。

q1 和 p 非 m 邻接的。

q2 和 p 是 m 邻接的。

某条通路经过像素 q2、p、q1,那会有几种走法呢?

如果从 p、q1、q2 是 8 邻接的角度看,p 到 q1 可以有2种走法,所以 q2 到 q1 的通路有2条。

同理,从 m 邻接角度看,p 和 q1 只有1种走法,所以 q2 到 q1 的通路只有1条。

所以,m 邻接的引入是为了消除 8 邻接常常带来二义性

从集合的角度看:

Part3 3. 通路

wKgZomWM4V-AGnNvAABlC4H-p5M436.jpg

由不同的邻接定义,可以得到不同的通路:4 邻接 => 4 通路,8 邻接 => 8 通路,m 邻接 => m 通路

dad4b57c-a3fd-11ee-8b88-92fbcf53809c.jpg通路.png

所以,从中间的图可以看到 q2 和 q1 之间存在 8 通路,从最右的图可以看到 q2 和 q1 之间存在 m 通路。

从集合的角度看:

下图中,p-q 通路对应的是不同的通路。

dae2c900-a3fd-11ee-8b88-92fbcf53809c.jpg多种通路.png

Part4 4. 连通

wKgaomWM4YKAHWRQAAD1mEwry-o651.jpg

daea7cd6-a3fd-11ee-8b88-92fbcf53809c.jpglineType 参数.png

下面的例子,展示了使用不同的 lineType 参数的效果

intmain(intargc,char*argv[])
{
Matimage=Mat::zeros(Size(80,80),CV_8UC3);
image.setTo(255);//设置屏幕为白色

Pointp1(20,0);
Pointp2(80,60);
Pointp3(0,0);
Pointp4(80,80);
Pointp5(0,20);
Pointp6(60,80);

line(image,p1,p2,Scalar(0,0,255),1,LINE_4);
line(image,p3,p4,Scalar(255,0,0),1,LINE_8);
line(image,p5,p6,Scalar(0,255,0),1,LINE_AA);

imshow("src",image);

waitKey(0);
return0;
}

将生成的图片放大,可以看到使用 LINE_4、LINE_8、LINE_AA 画出来的线段效果是不同的。使用 LINE_AA 效果看上去是最好的,其次是 LINE_8。

dafa6e70-a3fd-11ee-8b88-92fbcf53809c.jpg不同lineType参数的效果.png

通过邻接可以引申很多概念,邻接 -> 通路 -> 连通 -> 连通集 -> 区域/邻接区域 -> 前景和背景 -> 边界

Part5 5. 距离

对于像素 p(x,y)、q(s,t) 和 z(u,v),如果满足:

非负性:D(p,q) ≥ 0

同一性:D(p,q)=0,当且仅当p=q时

对称性:D(p,q) = D(q,p)

直递性:D(p,z) ≤ D(p,q) + D(q,z)

则称 D 是距离的度量函数。

wKgZomWM4c6ARoEoAAFeCq0_1Xc022.jpg

Part6 6. 总结

本文涉及到很多概念,这些概念代表着像素间的基本关系。像邻域、连通在后续文章中很多都会涉及到,像距离又跟相似度有关,所以它们是数字图像的基础。








审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 滤波器
    +关注

    关注

    161

    文章

    7805

    浏览量

    178069
  • OpenCV
    +关注

    关注

    31

    文章

    635

    浏览量

    41343
  • 均值滤波
    +关注

    关注

    0

    文章

    10

    浏览量

    7102

原文标题:OpenCV 笔记(6):像素间的基本关系——邻域、邻接、通路、连通、距离

文章出处:【微信号:CVSCHOOL,微信公众号:OpenCV学堂】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    [8.1.1]--8.1.1像素基本关系学习视频

    图像处理图像识别
    jf_75936199
    发布于 :2023年04月28日 02:26:04

    请问TI有图像连通区域、亚像素等图像库的支持吗?

    请问TI有图像连通区域、亚像素等图像库的支持吗?
    发表于 07-25 07:18

    PCB反设计系统中的通路探测电路功能及原理分析

      1 引言  电子工程师在进行电子设备的反设计或者维修工作时,首先需要了解未知印刷电路板(PCB)上各元件的连接关系,因此需要对PCB上各元件引脚之间的连通关系进行测量并记录。  最简单的方法
    发表于 09-10 16:56

    霍尔电位差UH的基本关系

    霍尔电位差UH的基本关系为: UH=RHIB/d(1)RH=1/nq(金属) (2) 式中 RH——霍尔系数;n——单位体积内载流子或自由电子的个数;q——电子电量;I——通过的电流;B——垂直于I的磁感应强度;d——导体的厚度。
    发表于 12-25 10:43

    PCB通路探测电路的功能及实现原理是什么

    本文通过对PCB通路探测电路的功能及实现原理的分析,为大规模PCB上元件引脚通路关系的测量提供了一种新的思路。
    发表于 04-27 06:02

    带空间约束的邻域中值加权FCM图像分割算法

    在聚类分析过程中,欧氏距离是最为常用的距离度量方法,而传统的基于欧氏距离的图像分割方法没有综合考虑空间信息和邻域特征等因素。提出了一种用邻域
    发表于 11-21 16:53 5次下载

    基于邻域信息熵度量数值属性快速约简算法

    邻域信息熵度量不仅关注约简属性集正域变化,而且考察负域样本空间约简属性邻域等价类在决策属性划分的分布,具备更好的邻域关系度量细粒度。实验表明,对比
    发表于 12-05 17:19 0次下载

    基于最近邻域像素梯度的视频背景快速提取

    针对嵌入式设备对视频背景的实时提取问题,提出一种基于最近邻域像素梯度( N2PG)稳定性的视频背景快速提取方法。首先,以视频中任意帧作为初始背景,并计算此背景图像的N2PG矩阵;然后,以背景帧之后
    发表于 12-14 15:58 1次下载

    图像处理教程之图像的邻域操作资料说明

    输出图像中的每个像素值都是由输入图像中对应的像素及其某个邻域内的像素共同决定的,这种图像运算称为邻域运算。通常
    发表于 03-08 15:58 12次下载
    图像处理教程之图像的<b class='flag-5'>邻域</b>操作资料说明

    layout和PCB的29个基本关系

    已经解决措施,特别是 layout 工程师,需要了解如何避免脏点的扩大,本文主要介绍了电源 PCB 设计的要点。 layout与PCB的29个基本关系 1、几个基本原理:任何导线都是有阻抗的;电流总是自动选择阻抗最小的路径;辐射强度和电流、频率、回路面积有关
    的头像 发表于 12-09 16:24 914次阅读

    layout与PCB的29个基本关系资料下载

    电子发烧友网为你提供layout与PCB的29个基本关系资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助到广大的电子工程师们。
    发表于 03-31 08:44 7次下载
    layout与PCB的29个<b class='flag-5'>基本关系</b>资料下载

    一文弄懂激光器速率方程组及基本关系

    对一些简化的、具有代表性的模型列出速率方程组,所谓的三能级和四能级系统。激光速率方程理论的出发点是原子的自发辐射、受激辐射和受激吸收概率的基本关系式。
    发表于 03-09 13:44 8458次阅读

    干货| 超全面!layout与PCB的29个基本关系,收藏这篇就够了!

    layout与PCB的29个基本关系 1、几个基本原理:任何导线都是有阻抗的;电流总是自动选择阻抗最小的路径;辐射强度和电流、频率、回路面积有关;共模干扰和大 dv/dt 信号对地互容有关;降低
    的头像 发表于 10-22 21:38 1235次阅读
    干货| 超全面!layout与PCB的29个<b class='flag-5'>基本关系</b>,收藏这篇就够了!

    OpenCV4笔记之连通域分析

    连通:若 S 是图像中的一个像素子集,对于任意的 。如果存在一条由 S 中像素组成的从 p 到 q 的通路,则称 p 在像素集 S 中与 q
    的头像 发表于 12-25 17:16 978次阅读
    OpenCV4笔记之<b class='flag-5'>连通</b>域分析

    二值图像连通区域的标记原理

    二值图像是一种由黑白两色组成的图像,其像素值只有两种可能,分别对应黑色和白色。在二值图像中,连通区域是指一块相邻的、像素值相同的区域。为了对二值图像中的连通区域进行分析和处理,我们需要
    的头像 发表于 01-05 14:28 842次阅读