图像开运算和闭运算

Posted pingwen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图像开运算和闭运算相关的知识,希望对你有一定的参考价值。

1、原理

图像开运算与闭运算与膨胀和腐蚀运算有关,由膨胀和腐蚀两个运算的复合与集合操作(并、交、补等)组合成的运算构成。开运算与闭运算依据腐蚀和膨胀演变而来。

1)开运算:先对图像腐蚀后膨胀。

A○S= (AΘS)⊕ S

作用:用来消除小的物体,平滑形状边界,并且不改变其面积。可以去除小颗粒噪声,断开物体之间的粘连。

2)闭运算:先对图像膨胀后腐蚀

A●S= (A⊕S)Θ S

作用:用来填充物体内的小空洞,连接邻近的物体,连接断开的轮廓线,平滑其边界的同时不改变面积。

2、开运算的实现

技术图片

imgPath = E:opencv_picsrc_picpic2.bmp;
img = imread(imgPath);
img=rgb2gray(img);
img = 255-img;
 
se = strel(square, 5);
img2 = imerode(img, se);
img3 = imdilate(img2, se);
subplot(1,3,1),imshow(img),title(原始图像);
subplot(1,3,2),imshow(img2),title(腐蚀后);
subplot(1,3,3),imshow(img3),title(膨胀后);

效果如下图。腐蚀消除了小的噪点,保留了最大的一个噪点,膨胀之后还原了噪点的形状。图像上,草莓蒂上的小花纹已经消失。

技术图片

 放大后观察,原图里有较大的斑点,6*5的方块(纵向缺1个点),腐蚀后只剩下1个点,膨胀后变为5*5的方块。

技术图片

放大到像素级可见,腐蚀图上的点(32,110)在膨胀图里被还原为5*5的块。

技术图片

 使用imopen函数,效果相同。

技术图片

3、闭运算的实现

技术图片

imgPath = E:opencv_picsrc_picpic2.bmp;
img = imread(imgPath);
img=rgb2gray(img);
img = 255-img;
 
se = strel(square, 4);
img2 = imdilate(img, se);
img3 = imerode(img2, se);
subplot(1,3,1),imshow(img),title(原始图像);
subplot(1,3,2),imshow(img2),title(膨胀后);
subplot(1,3,3),imshow(img3),title(腐蚀后);

闭运算效果如下图。

技术图片

放大后,图像左侧的噪点在膨胀过程被连在一起,体积增大很多。腐蚀后形状发生了一些改变,体积变小很多。

技术图片

使用大小为15的结构元素,se = strel(‘square‘, 15);草莓中间的空心圈变为实心圈。膨胀过程中,空心被高亮白色填充,但是花瓣部分已经连接在一起形状发生了较大改变。再次腐蚀后,去掉了膨胀造成的粘连,花瓣部分大体形状恢复。

技术图片

在matlab里,使用imclose函数也可以达到上面先膨胀后腐蚀的效果。

4、总结

单独对比开运算和闭运算,对比图如下。

开运算先腐蚀后膨胀,去除了小的黑点,方块边缘变得圆润了,也就是开运算对图像轮廓进行平滑。

而闭运算先膨胀后腐蚀,把中心比较大的块连接为一个整体,填补了空白的缝隙。

技术图片

开运算能够除去孤立的小点,毛刺和小桥,而物体的形状轮廓基本不变。

闭运算与开运算相反,能够填平前景物体内的小裂缝、间断和小孔,而总的位置和形状不变。

结构元素大小的不同将导致滤波效果的不同。

不同的结构元素的选择导致了不同的分割,即提取出不同的特征。

5、参考文献

1、形态学开运算闭运算

https://www.jianshu.com/p/2eae48a44f83

2、More Morphology Transformations

https://docs.opencv.org/2.4/doc/tutorials/imgproc/opening_closing_hats/opening_closing_hats.html#more-morphology-transformations

 

尊重原创技术文章,转载请注明。

https://www.cnblogs.com/pingwen/p/12240890.html

以上是关于图像开运算和闭运算的主要内容,如果未能解决你的问题,请参考以下文章

图像开运算和闭运算

python图像处理(开运算和闭运算)

python图像处理(开运算和闭运算)

ITK 形态学中的开运算和闭运算 腐蚀 膨胀

图像的形态学开操作(开运算)和闭操作(闭运算)的概念和作用,并用OpenCV的函数morphologyEx()实现对图像的开闭操作

形态学的开闭运算与字面上的“开”和“闭”的本来的意义有啥关系?