文章目录

  • 3.6 形态学
    • 3.6.1 区域形态学
      • 闵可夫斯基加法
      • 闵可夫斯基减法
    • 3.6.2 灰度值形态学

本节可参考我的另一篇博客:《HALCON机器视觉与算法原理编程实践》第8章 图像的形态学处理-学习笔记

3.6 形态学

前面我们已经讨论了如何分割区域。我们已经看到了分割结果中经常包含不想要的干扰。通常我们必分割后区域的形状以获取我们想要的结果。这是数学形态学领域的课题,数学形态学被定义为一种分析空间结构的理论。

数学形态学提供了一组特别有用的方法,这些方法能让我们调整或描述物体的形状。形态学的处理方法能够在区域和灰度值图像上被定义。

3.6.1 区域形态学

所有的区域形态学处理能根据六个非常简单的操作来定义:并集,交集,差集,补集,平移和转置。

计算两幅二值图像并集的算法是显而易见的:我们仅需要对两困像进行逻辑或or运算即可。
在二值图像上求交集的算法也是明显的:我们仅对两图像进行逻辑与and运算即可。

闵可夫斯基加法

另一个描述闵可夫斯基加法的方法是第四个等式:它告诉我们在平面内移动转置后的结构元, 任何时刻当转置后的结构元平移到与区域存在至少一个公共点时,我们就复制此平移后的参考点到输出中。图3.41是闵可夫斯基加法的例子。


在闵可夫斯基加法中使用转置后的结构元即可,此操作被称为膨胀。。因此,很多时候膨胀都被定义为使用非转置的结构元,但从技术上说这是不正确的。

闵可夫斯基减法


请注意与闵可夫斯基加法的区别,闵 可夫斯基加法是要求结构元必须至少与区域存在一斗会共点。而对于闵可夫斯基减法,结构元g、须全部落在区域内。 因3.44显示的是闵可夫斯墓满法的例子。

闵可夫斯基减法与闵可夫斯基加法一样都有一个小缺点:其几何准则是转置结构元必须完全落在区域内。 在膨胀中,我们使用的是转置结构元。在闵可夫斯基减法中使用转置结构元被称为腐蚀,定义如下:

图3.45是腐蚀的一个例子。

腐蚀和膨胀最有用处的应用是计算区域的边界。基于轮廓控制点构成的一个链表来求出真实的边界是相当复杂的算法。但是,计算出一个边界的近似值是非常容易的。如果想计算出内边界,我们仅需对区域进行适当的腐蚀,然后从原区域中减去腐蚀后得到的区域即可:

推荐阅读:形态学-腐蚀、膨胀、开操作、闭操作

3.6.2 灰度值形态学

因为形态学处理的用途非常广泛,所以能否也将其推广到灰度值图像上就成了自然而然出现的问题。这种推 广是可行的。

灰度值开操作为一个腐蚀操作后再执行一个闵可夫斯基加法:

操作是一个膨胀操作后再执行一个闵可夫斯基减法:

度值开操作和闭操作与区域的开操作和闭操作的特性类似。

《机器视觉算法与应用》第3章 机器视觉算法之形态学——学习笔记相关推荐

  1. AcWing提高算法课Level-3 第六章 基础算法

    AcWing提高算法课Level-3 第六章 基础算法 位运算 AcWing 90. 64位整数乘法761人打卡 递推与递归 AcWing 95. 费解的开关520人打卡 AcWing 97. 约数之 ...

  2. AcWing进阶算法课Level-4 第七章 基础算法

    AcWing进阶算法课Level-4 第七章 基础算法 启发式合并 AcWing 2154. 梦幻布丁73人打卡 AcWing 3189. Lomsat gelral54人打卡 manacher算法 ...

  3. 《C++Primer》第二章-变量和基本类型-学习笔记(1)

    <C++Primer>第二章-变量和基本类型-学习笔记(1) 文章目录 <C++Primer>第二章-变量和基本类型-学习笔记(1) 摘要 主体 基本(内置)类型 算数类型 整 ...

  4. HTML5 权威指南第 10 章 文档分节 学习笔记

    HTML5 权威指南第 10 章 文档分节 学习笔记 第 8 章 标记文字 内容从从文字出发,专注如何将单体内容正确的呈现出来:第 9 章 组织内容 内容从段落出发,专注如何将单体内容合理的放在段落中 ...

  5. 网规第二版:第8章 网络规划与设计论文学习笔记(含历年真题)(完结)

    第8章 网络规划与设计论文学习笔记 8.1写作范围要求 1.网络技术应用与对比分析 2.网络技术对应用系统建设的影响 3.专用网络需求分析.设计.实施和项目管理 4.下一代网络技术分析 8.2论文考试 ...

  6. 【14天鸿蒙设备开发实战-第七章 设备联网上云 学习笔记】

    14天鸿蒙设备开发实战-第七章 设备联网上云 学习笔记 一.开发环境.平台与硬件需求 二.华为IoT平台API 2.1 初始化 2.1.1 设备信息初始化 2.1.2 华为IoT平台 初始化 2.1. ...

  7. 『ML』利用K-Means聚类算法对未标注数据分组——《机器学习实战》学习笔记(Ch10)

    本节用Python实现K-Means算法,对未标注的数据进行聚类. 在做完聚类后,如何对于聚类结果进行评估?请看 用Python实现聚类效果的评估(轮廓系数.互信息) 导航 K-Means简介 代码实 ...

  8. 【Java数据结构与算法】第十九章 贪心算法、Prim算法和Kruskal算法

    第十九章 贪心算法.Prim算法和Kruskal算法 文章目录 第十九章 贪心算法.Prim算法和Kruskal算法 一.贪心算法 1.介绍 2.支付问题 二.Prim算法 1.最小生成树 2.介绍 ...

  9. 《算法导论》第16章 贪心算法 个人笔记

    第16章 贪心算法 16.1 活动选择问题 问题:假设有一个n个活动的集合S=a1,a2,...,anS={a_1,a_2,...,a_n},这些活动使用同一个资源,而这个资源在某个时刻只能供一个活动 ...

  10. 【ember zigbee】序章:协议栈相关文档学习笔记

    原文地址:https://blog.csdn.net/tainjau/article/details/90648114 文章目录 写在前面 一.材料出处 二.文档解析 2.1.EZSP Protoco ...

最新文章

  1. 七段液晶数字识别-处理程序
  2. java 2类与对象[学堂在线]
  3. redis 小功能大用处
  4. 翻译(六)——T-SQL的进阶之路:超过基础的2级水平:写子查询
  5. 创建型模式:抽象工厂
  6. shader weaver_Oracle通过邀请Weaver和Chin推动JavaFX向前发展
  7. python批量操作Linux服务器脚本,ssh密码登录(执行命令、上传、下载)(一)...
  8. iOS项目内购(IAP)纯代码
  9. 屏幕演示讲解必备工具:虚拟教棒、屏幕画笔、ZoomIt放大屏幕、鼠标探照灯(图)
  10. 人工智能系列 之机器学习DBSCAN聚类算法
  11. 怎么讲bpm文件读入Matlab,bpm Matlab环境下基于期望传播算法的贝叶 类器工 238万源代码下载- www.pudn.com...
  12. 计算机存储器与寄存器的区别,存储器和寄存器的区别
  13. JS数据结构与算法-队列结构
  14. 电脑如何截长图?如何用电脑截取长图——规划全景
  15. 怎么用python编简单游戏大全_适合新手练手的三个python简单小游戏
  16. JustSoso笔记
  17. 刷题笔记之十 (小易的升级之路+找出字符串中第一个只出现一次的字符+洗牌+MP3光标位置)
  18. Windows Server 2008 定时任务卡住了不执行
  19. 云原生之Linux命名空间和docker容器隔离
  20. 暴风影音第五代发布:左眼技术画质超越DVD

热门文章

  1. php 在线api文档生成,一键生成API文档
  2. 【DataOps】- 数据开发治理一体化之网易数帆数据治理2.0实践分享
  3. Java学习(1)——用显式转换显式字符在Unicode表中的位置
  4. 结构建模设计——Solidworks 2021SP5稳定版软件安装详细教程(安装踩坑记录全流程总结)
  5. [Windows] Visio 图形怎么旋转到指定角度?
  6. 动态cookie-ob混淆
  7. XMLHttpRequest对象的open方法
  8. 私塾在线 Java架构师在线课程(148讲教程)
  9. H.266/VVC代码学习:xCheckRDCostAffineMerge2Nx2N函数
  10. SQL分页查询,SQL的LIMIT语句用法,SQL如何实现分页查询,SpringBoot实现分页查询。