二值图像的形态学处理
1.边缘提取
物体的边缘是图像的基本特征,提供了物体形状的重要信息。利用形态学进行边缘提取的基本思想是:用一定的结构元素对目标图像进行形态学处理,在将处理后的结果与原图像相减。根据所用形态学运算的不同,可以得到二值图像的内边缘、外边缘和形态学梯度3种边缘。内边缘可用原图像减去腐蚀后的图像得到;外边缘可用图像膨胀结果减去原图像得到;形态学梯度可用图像的膨胀结果减去图像的腐蚀结果得到。
另目标图像A的内边缘、外边缘和形态学梯度分别为 β 内 ( A ) \beta_{内}(A) β内(A)、 β 外 ( A ) \beta_{外}(A) β外(A)、 β 梯 度 ( A ) \beta_{梯度}(A) β梯度(A),则其定义为
β 内 ( A ) = A − ( A ⊖ B ) β 外 ( A ) = ( A ⊕ B ) − A β 梯 度 ( A ) = A ⊕ B ) − ( A ⊖ B ) \beta_{内}(A) = A - (A\ominus B) \\ \beta_{外}(A) = (A\oplus B) - A \\ \beta_{梯度}(A) = A\oplus B) - (A\ominus B) β内(A)=A−(A⊖B)β外(A)=(A⊕B)−Aβ梯度(A)=A⊕B)−(A⊖B)
2.区域填充
区域填充是指在已知区域边缘的基础上所完成的对该区域的填充操作。与边缘提取不同,区域填充是对图像北京像素进行操作,一般是以图像的膨胀、求补和求交运算为基础,旨在填充图像中我们感兴趣的边界区域。
区域填充的过程如下:令图像A中所有的非边界像素标记为0,区域填充的目的是从边界内的一个点开始,用1填充整个区域。首先在边界内选取一初始点并标记为1,然后利用下式进行迭代进行区域填充
X k = ( X k − 1 ⊕ B ) ∩ A c , k = 1 , 2 , 3 , . . . X_{k} = (X_{k-1} \oplus B) \cap A^{c},k=1,2,3,... Xk=(Xk−1⊕B)∩Ac,k=1,2,3,...
直到 X k = = X k − 1 X_{k} == X_{k-1} Xk==Xk−1时停止迭代。
3.骨架提取
骨架式描述图像的集合形状及其拓扑性质的重要特征之一。抽取图像估计的目的是为了表达目标的形状结构,它有助于突出目标的形状特点和减少冗余的信息量,因而,骨架抽取在文字识别、工业零部件形状识别或地质构造识别等领域有着重要的作用。
骨架抽取算法从形态学的角度定义如下:令目标图像A的骨架记为S(A), S n ( A ) S_{n}(A) Sn(A)为骨架子集,则图像A的骨架可以用腐蚀和开运算得到,即
{ S ( A ) = ∪ n = 0 N S n ( A ) S n ( A ) = ( A ⊖ n B ) − ( A ⊖ n B ) ∘ B \left\{ \begin{aligned} &S(A) = \cup_{n=0}^{N}S_{n}(A) \\ &S_{n}(A) = (A \ominus nB)-(A \ominus nB) \circ B \end{aligned} \right. {S(A)=∪n=0NSn(A)Sn(A)=(A⊖nB)−(A⊖nB)∘B
B为适当的结构元素, A ⊖ n B A\ominus nB A⊖nB表示对A连续腐蚀n次,N为A被腐蚀为空集之前的最后一次迭代,即
N = m a x { n ∣ ( A ⊖ n B ) ≠ ∅ } N = max\{n | (A\ominus nB) \ne \varnothing \} N=max{n∣(A⊖nB)=∅}
4.细化
细化就是把输入的具有一定宽度的图像轮廓用逐次去掉边缘的方法最终变为宽度仅为一个像素的骨架,细化就是通过细化用骨架来代表对象的形状,并显示图像的拓扑结构。
参考:《数字图像与视频处理》- 卢官明 唐贵进 崔子冠 编著
二值图像的形态学处理相关推荐
- 数字图像处理——形态学操作(二值图像篇)
形态学操作 内容简介 1. 预备知识--结构元 2. 形态学基本操作 2.1 腐蚀和膨胀 2.2 开操作与闭操作 2.3 击中和击不中变换(hit and miss transform) 3. 基本的 ...
- OpenCV(八)形态学操作3--形态学梯度实现轮廓分析(基本梯度、内部梯度、外部梯度、方向梯度X(Y))
目录 形态学梯度概述 一.基本梯度 1.原理 2.代码 3.效果 二.内部梯度 1.原理 2.代码 3.效果 三.外部梯度 1.原理 2.代码 3.效果 四.方向梯度 1.原理 2.二值化图像(黑白) ...
- Python图像处理:形态学操作
来源:DeepHub IMBA本文约1400字,建议阅读5分钟 形态学的操作主要是去除影响图像形状和信息的噪声.形态学运算在图像分割中非常有用,可以得到无噪声的二值图像. 形态学方法 当图像经过预处理 ...
- matlab 形态学 颗粒_数字图像处理Matlab-形态学图像处理(附代码)
这是一篇基于matlab,数字图像处理的形态学研究与实现的文章,希望能对你产生帮助. 我还写了一套<数字图像处理>(冈萨雷斯版本)的学习笔记,欢迎关注我的csdn同名主页,一起学习成长~ ...
- 形态学图像处理(二)
本文主要包括以下内容 二值形态学的经典应用, 细化和像素化, 以及凸壳 灰度图像的形态学运算, 包括灰度腐蚀.灰度膨胀.灰度开和灰度闭 本章的典型案例分析 在人脸局部图像中定位嘴的中心 显微镜下图像的 ...
- C语言图像处理二值图细化,Visual C 实现二值图像处理
下载本文示例代码 二值图像是一种简单的图像格式,它只有两个灰度级,即"0"表示黑色的像素点,"255"表示白色的像素点,至于如何从一幅普通的图像获得二值图像,请 ...
- 数字图像处理 图像形态学处理
一.基本概念 形态学一词通常表示生物学的一个分支,涉及动物和植物的形式和结构. 在这里在数学形态学的上下文中使用相同的词作为提取图像组件的工具,这些组件在区域形状的表示和描述中很有用,例如边界.骨架和 ...
- 数字图像处理——第九章(形态学图像处理)
参考:https://blog.csdn.net/Dujing2019/article/details/90050755 参考:https://blog.csdn.net/weixin_4190739 ...
- 数字图像处理之matlab实验(五):形态学图像处理
常见的形态学处理包括腐蚀.膨胀.开运算.闭运算.不同的操作有不同的作用,同样的操作在不同类型的图片上也有不同效果,具体效果如下表格所示.要求熟练掌握对二值图像的形态学处理. 不同操作对不同类型图像处理 ...
最新文章
- Ubuntu 中的 dpkg 安装deb、删除deb、显示已安装包列表、解压deb文件、显示deb包内文件列表、配置deb软件包
- SSRS动态设置文本框属性
- winserver 服务开机启动
- Android笔记 Android客户端从服务器获取源码乱码demo
- leetcode刷题:无重复字符的最长子串
- python编程狮app_Python编程狮官方app下载_Python编程狮安卓app下载 v1.0.8 - 创意手游...
- C#如何实现一个简单的流程图设计器
- 【动态规划】数位DP入门题:不要62
- C++句柄类(智能指针)小结
- 基于VB6.0的MICAPS风云二号卫星云图转化实例(转载)
- 2020考研数学一大纲之完全解析(四)
- Excel如何分组排序
- yansongda 支付宝提现,商家转账
- 栈的输出_程序设计做题笔记:计算表达式(一):栈
- docker-compose 部署mysql一直重启
- 瑞萨RAe2studio快速上手视频笔记 一、瑞萨RAe2studio介绍
- Python数据分析入门--线性规划和非线性规划学习笔记
- 强化学习之Q学习与SARSA
- BZOJ1067降雨量
- 产业链和价值链的联系和区别?