第九章 形态学图像的处理

本文深入探讨了形态学图像处理的基础理论,包括集合论概念、基本运算如膨胀、腐蚀、开闭操作。这些操作用于消除噪声、分割图像元素、平滑目标边界。还介绍了击中与击不中变换在形状检测中的应用,以及边界提取、区域填充、细化和粗化等算法。形态学处理同样适用于灰度图像,扩展了其在图像分析和识别中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 形态学处理理论基础
  1. 基本概念

– 用具有一定形态的结构元素去量度和提取图像中的对应形状,达到对图像分析和识别的目的

– 数学基础:集合论

– 基本运算:膨胀、腐蚀、开启、闭合、击中、 击不中

– 处理对象:二值图像、灰度图像

  1. 基本集合论知识:

– 集合:具有某种性质的、确定的、有区别的事物全体(A,B,...,Φ)

– 元素:构成集合的每个事物(a,b,c…)

– 子集:A的元素都属于B,称A为B子集

– 并集:由A和B所有元素组成的集合

– 交集:由A和B公共元素组成的集合

– 补集:A的补集定义为

– 位移:A用x=(x1,x2)位移,定义为

– 映像:A的映像定义为

– 差集:两个集合的差,定义为

  1. 集合运算示例

 

  • 膨胀与腐蚀

膨胀与腐蚀的功能

  1. 消除噪声
  2. 分割(isolate)出独立的图像元素,在图像中连接(join)相邻的元素。
  3. 寻找图像中的明显的极大值区域或极小值区域
  4. 求出图像的梯度
  1. 膨胀

– 定义:A用结构元素B进行膨胀运算为

– 膨胀结果与结构元素B的形状及B的原点有关

– 膨胀的应用:图像目标断裂的桥接

解释:三像素的图案形状可以理解为核B,与左上图的进行卷积,其中图像像素上带+的符号为锚点

而膨胀就是求局部最大值的操作,核B与图形卷积,即计算核B覆盖的区域(体现局部)的像素点的最大值,并把这个最大值赋值给参考点指定的像素。这样就会使图像中的高亮区域逐渐增长。

 

右图实际比左图大了一圈,右图中虚线部分为左图

https://i-blog.csdnimg.cn/blog_migrate/a551569c6372f585a2bbf3368ebee5a8.webp?x-image-process=image/format,png

 

举例:

  1. 腐蚀
  1. 定义:

为A用结构元素B进行腐蚀的运算

  1. 腐蚀的应用

-去除图像中不需要部分(噪声、毛刺)

  1. 腐蚀与膨胀的对偶

 

  • 开操作与闭操作
  1. 思路

– 腐蚀使目标变小,膨胀使目标变大

– 腐蚀-膨胀:去掉毛刺,恢复目标尺寸

– 膨胀-腐蚀:填充空洞,恢复目标尺寸

  1. 开操作:

– 定义:采用结构元素B对A先腐蚀再膨胀

– 作用:通过去除细小突出物,断开狭窄的间断来平滑目标

  1. 闭操作

– 定义:采用结构元素B对A先膨胀再腐蚀

– 作用:通过填充小孔洞,消除狭窄间断和细长鸿沟来平滑目标

  1. 几何解释

– 开操作:结构元素沿目标的内边界滚动 ,B中的点所能达到的A的边界的最近点

– 闭操作:结构元素沿目标的外边界滚动 ,B中的点所能达到的A的边界的最近点

  1. 运算示例:

目标A

           开操作                    闭操作

  1. 开操作与闭操作的对偶

  1. 开操作性质
  1. AoB(开操作)为A的子集合(子图)
  2. 如果C是D的子集,则CoB是DoB的子集
  3. (AoB)oB = AoB
  1. 闭操作性质
  1. A是A•B的子集合
  2. 如果C是D的子集,则C•B和D•B的子集
  3. (A•B)•B = A•B
  1. 举例应用

去除指纹图噪声,开操作-闭操作

 

  • 击中或击不中
  1. 思路

– 对于多个目标构成的图像,以某一目标为结构元素进行腐蚀操作,能保留比该目标大的对象

– 如何只保留该目标,这是一个形状检测的问题

  1. 定义

– 检测对象为X,X包围在小窗口W中,(W-X)为背景

– 图像A经X腐蚀,可以检测比X大的目标

– 图像A的补集经(W-X)腐蚀,能检测比(W-X)小的目标

– 综合可以检测目标X

– 若B1=X,B2=(W-X),击中-击不中变换数学表达为

  1. 操作图解

用于基于结构元素的配置,从图像中寻找具有某种像素排列特征的目标,如单个像素、颗粒中交叉或纵向的特征、直角边缘或其他用户自定义的特征等。计算时,只有当结构元素与其覆盖的图像区域完全相同时,中心像素的值才会被置为1,否则为0。

https://i-blog.csdnimg.cn/blog_migrate/a956a0a3761b165d30c28542e981052b.png

– 图像A有三个目标

• X、Y、Z

• 被检测对象X

– A的补集

– A经X腐蚀结果

– A补集经(W-X)腐蚀

– 交集产生最终结果

  1. 举例:目标检测

– 需要检测水平3像素长线段,定义:

 

  • 一些基本的形态学算法
  1. 边界提取:

– 集合A的边界表示为β(A),可经过以下运算得到

βA=A-(A⊝B)

-其中B为一个适当的结构元素

      

  1.  区域填充

– 区域和边界可以互求;已知边界A可以通过膨胀来填充区域。与边界的补集求交,可以让膨胀只在区域内进行:

  1. 细化

– 集合A经结构元素B细化,定义为 A⊗B=A-A*B=A⋂(A*B)c

– 它通过击中-击不中变换来实现

– 击中-击不中用于检测目标,细化的过程就是将需要消除的目标检出并剔除

– 结构元素是一个集合 B={B1B2B3,…,Bn}

– 用结构元素序列定义的细化为

  1. 细化运算示例:模板从八个放线减薄边界

  1. 粗化

-粗化是细化的对偶过程,定义为 AeB=A⋃(A*B)c

– B是合适的结构元素,与细化一样,粗化处理也定义为一系列操作

– 用于粗化的结构化元素与细化处理的有关结构元素形式相同,但0和1 要互换。

– 实际应用中,粗化过程多采用细化的对偶方式来完成

• 即:对集合背景细化,结果求补

• 算法图解

 

  • 扩展到灰度级图像
  1. 膨胀

  1. 腐蚀

  1. 膨胀与腐蚀的对偶

  1. 二值图像和灰度值图像膨胀过程的比较

  1. 开操作与闭操作

  1. 性质
  2. 灰度形态学的应用

【课程简介】 本课程基于面向Python的OpenCV,以OpenCV的官方文档的知识脉络为主线,介绍了OpenCV函数的具体使用方法、函数所使用的算法的具体原理。 在介绍函数使用时,提供了大量的程序案例演示。 在介绍具体原理时,采用了通俗易懂的语言和贴近生活的示例来说明问题,尽量避免涉及过于复杂抽象的公式。 课程包含数字图像处理的常用知识点,覆盖面全,方便学员系统深入全面地掌握OpenCV。 【你将收获什么】 1.  掌握数字图像的在计算机内表示的方法和处理的基本原理。掌握数字图像的表示方法是进行图像处理的前提和基础,能够为后续的智能图像处理打下坚实基础。 2.  使用好OpenCV开源库对于提升工作效率具有很大的帮助。OpenCV是优秀的开源库,提供了大量的函数帮助我们提升工作效率。大多数情况下,我们直接调用函数就能够满足我们的需求。同时,它的函数具有较好的交互性,能够根据需要更好地掌控图像处理的具体细节。 3.  学习图像处理的常用算法。课程不仅介绍函数的具体使用,也介绍了常用算法的基本原理,帮助学习者更好地理解图像处理的基本逻辑、方法,快速入门图像处理领域。 【我将如何教你】 1)在“黑盒”和“白盒“之间取得平衡  可以将OpenCV看成“黑盒”,不用关心其函数是如何实现的。在需要实现某一个功能时,直接调用其对应的函数即可,像使用Photoshop的各种功能一样。也可以将OpenCV看成“白盒”,关注其每一个函数的具体实现,认真研究每一个函数的具体实现方法和实现细节。这两种方式都是学习图像处理的很好方式,但是大多数课程过于强调其中某一种,要么忽略了算法的实现、要么忽略了使用方法。本课程尽量将OpenCV在“黑盒”和“白盒”之间取得平衡。既介绍算法的原理和方法,又将重点放在如何调用函数上,让学习者能够更加游刃有余地在计算机视觉项目中使用OpenCV来解决具体的问题。 2)将枯燥的算法采用具体的案例介绍  在图像处理中,有大量的算法保证了图像处理的准确、高效。OpenCV将一些常用的算法进行了封装,我们可以直接调用OpenCV的函数来使用对应的算法。但是,深入地理解算法能够帮助学习者更好地使用OpenCV函数。本课程尝试抛弃传统的使用复杂公式介绍算法的形式,尽量通过简单、通俗易懂的生活中实例来帮助学习者理解算法的基本逻辑 3)案例驱动、强调实战 OpenCV是一个庞大的资源库,提供了非常多的函数帮助我们高效地处理问题。初学者使用OpenCV的最大困惑就是熟练地掌握了每一个函数的调用方法,但是在解决实际问题时,不知道具体应该使用哪个函数。本课程通过大量的具体案例帮助学习快速掌握每个函数的应用场景,快速掌握OpenCV的核心使用方法和技巧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值