腐蚀-膨胀-开运算-闭运算

一个字节表示一个像素是灰度图像,三个字节表示一个像素是RGB图像,一个字节8位位深度为8,三个字节位深度为24位。

膨胀、腐蚀、开运算、闭运算针对二值图像(二值图像是指在图像中,灰度等级只有两种,也就是说,图像中的任何像素不是0就是1,再无其他过渡的灰度值),腐蚀是减少像素,膨胀是增加像素。

开运算:先腐蚀后膨胀(也减少像素),可以将两个物体分开,可以消除离散点和"毛刺",。

闭运算:是先膨胀后腐蚀(增加像素),用来填充物体内细小空洞、连接邻近物体、平滑其边界的同时并不明显改变其面积。

闭运算是连接,开运算是断开,闭运算连接的程度没有膨胀连接的范围大,开运算断开的范围没有腐蚀断开的范围大。

在halcon中结构元素半径越大,膨胀或腐蚀的范围就越宽,闭运算增加的范围就越宽,开运算减小的范围也就越大。

对灰度图像的腐蚀或开运算相当于将图像变暗(像素减少了)对灰度图像的膨胀或闭运算相当于图像变亮了

灰度图像的形态学并不是改变形状,对二值图像和区域改变形状。
 

常用的图像形态学操作包括膨胀、腐蚀、闭运算、开运算。

膨胀操作会扩大(粗化)图像中物体的轮廓,可以用来弥补(填充)物体间的孔洞,强化离散点,代价是导致物体的面积比原来的面积要大。

腐蚀操作会收缩(细化)图像中物体的轮廓,可以用来断开(分离)物体间的连接,消除离散点,代价是导致物体的面积比原来的面积要小。

闭运算是使用同一结构元对图像进行先膨胀后腐蚀的操作,可以用来弥合较窄的间断和细长的沟壑,消除物体间小的孔洞,填补轮廓线中的断裂。

开运算是使用同一结构元素对图像进行先腐蚀后膨胀的操作,可以用来平滑物体的轮廓,断开物体间较窄的连接,消除物体边沿尖锐的突出部分。

可以这样理解:假设在一张图片的正方形区域中,用圆形结构元素去做开运算,正方形区域中如果能装的下这个圆形结构元素的部分则被腐蚀掉去除,装不下圆形结构元素的部分,如下图中四个角红色标注的部分,则不会被腐蚀掉。闭运算,也可以按这种类似方式理解

                                                                     

需要说明的这些形态学操作所具有的效果是针对图像中物体属于高亮部分而言的,即前景物体的灰度高于背景图像。
 

posted on 2021-02-10 09:14  NLazyo  阅读(1175)  评论(0编辑  收藏  举报