1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 【图像数学形态学处理】膨胀与腐蚀运算

【图像数学形态学处理】膨胀与腐蚀运算

时间:2022-03-16 19:09:21

相关推荐

【图像数学形态学处理】膨胀与腐蚀运算

文章目录

膨胀运算(dilation)定义应用说明腐蚀运算(erosion)定义应用说明图像形态学二值化处理运算实现二值图像的逻辑运算形态学运算膨胀与腐蚀运算的编程实现腐蚀运算膨胀运算

图像数学形态学处理,是以形态为基础对图像进行分析的数学工具,它用具有一定形态的结构元素,度量和提取图像中的对应形状,从而达到对图像分析和识别的目的。

其中腐蚀与膨胀是形态学处理的两个基本运算,许多形态学算法都是在这两种运算的基础上进行拓展的。

膨胀和腐蚀运算的效果实际上互为“相反”,如果说膨胀运算的效果是将目标物体变得更加饱满,那么腐蚀运算就是将目标物体变得更加细小。

膨胀运算(dilation)

定义

集合A与B,若满足上式,则称A被B膨胀。

也就是对B的反射进行平移,使之与A的交集不为空的点集合。

如上图所示,设A,B均为正方形,则其反射图形不变。B的反射集合A集合在A集合的四个角处都有3/4的点与A的交集为空,若要保证所有交集都不为空,则A必膨胀至蓝色阴影面积。称A被B膨胀。

应用说明

膨胀运算就是将与物体接触所有背景合并到该物体中,使边界向外扩张的过程。因此,膨胀运算常用来填补物体中的空洞及消除目标物体中的小颗粒噪声。如在处理一张字迹不清的图片时,可以用膨胀运算填补字迹的空洞,从而使字迹更加清晰。

腐蚀运算(erosion)

定义

集合A与B,若满足上式,则称A被B腐蚀。

也就是将B平移z后,集合被包含在A的点的集合。

如上图所示,设A,B均为正方形。B集合平移z单位后的集合在A集合的四角都有3/4的点不被A集合包含。则A必缩小至紫色阴影面积。称A被B腐蚀。

应用说明

腐蚀运算是一种消除边界点,使边界点向内部收缩的过程。因此,腐蚀运算常用来消除图像中一些小且意义的物体;使用腐蚀运算消除图像的背景部分,也可以产生滤波器的效果

图像形态学二值化处理运算实现

二值图像的逻辑运算

设集合A与B,其逻辑运算包括并集、交集、补集。

其中膨胀运算为二值图像的逻辑运算中的或运算,而腐蚀运算则为与运算。

形态学运算

结构元素是经过特殊定义的邻域,而形态学运算实际也是邻域运算。在每个像素位置上,结构元素与二值图像对应的区域进行特定的逻辑运算,逻辑运算的结果为输出图像的相应像素取值。

膨胀与腐蚀运算的编程实现

腐蚀运算

for (rept = 0;rept < 3;rept++) //设置腐蚀次数{for (i = 1;i < h - 1;i++){for (j = 1;j < w - 1;j++){if (image[i * w + j] == 255) //找到一个图形点{flag = 0;for (m = -1;m < 2;m++){for (n = -1;n < 2;n++){if (image[(i + m) * w + j + n] == 0){flag++;break;}}}if (flag > 3) //该邻域内包含有3个背景点outImg[i * w + j] = 0;}}}}

编程具体思路为:图形点在3×3邻域有若干个背景点,则该点设为背景点,该点像素设为0。

膨胀运算

膨胀运算的编程思路与上述“相反”:当背景在3×3邻域内有若干个图形时,设该点为图形点,该点像素设为255。

编程代码与上述基本相同,改一些参数即可。

基本的形态学处理还有开闭运算,详解见:

/Carry_qing/article/details/114260197.

W.By Xyq

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。