在OpenCV里实现开运算

前面学习腐蚀和膨胀算法,并且深刻地认识到它们的特性以及作用。如果由这两种组合出来的运算又有什么样的不同呢?比如一个图像先腐蚀后膨胀的操作,会有什么结果呢?因为腐蚀是把图片白色变小,膨胀又是把图片白色变大,是否会保持原图不变呢?带着这些问题来研究一下先腐蚀后膨胀的算法,我们把这样的算法叫做开运算,在数学上用下面公式表示:

I∘S=(I⊝S)⨁S

开运算的作用有:

(1)开运算能够除去孤立的小点,毛刺和小桥,而总的位置和形状不便。

(2)开运算是一个基于几何运算的滤波器。

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

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

 

在了解开运算的方法之后,可以使用前面学习过的函数erode和dilate来完成,不过在OpenCV里提供了把这两个操作合并的函数morphologyEx

你可能感兴趣的:(OpenCV)