OpenCV之图像形态学运算

图像形态学运算主要包括一下几类:

    腐蚀和膨胀这两类形态学运算的原理性解释网上很多,稍微搜索一下就可以获得比较全面的了解,而且在实际应用中很少有单独使用腐蚀或膨胀运算的,通常是将两者组合起来使用,也就是先腐蚀后膨胀的开运算、先膨胀后腐蚀的闭运算以及两者相减的形态学梯度运算,其中,开运算主要用来去除图像中的孤立点;闭运算则可用来填充物体内细小空洞、连接邻近连通域、平滑其边界,同时又不明显改变连通域面积;形态学梯度运算可以用于进行图像的边缘检测。

       OpenCV中形态学运算的基本实现为:

        erode(image,eroded,element);//腐蚀

        dialate (image,eroded,element);//膨胀

        morphologyEx(image,opened,MORPH_OPEN,element);//开运算

        morphologyEx(image,opened,MORPH_CLOSE,element);//闭运算

        morphologyEx(image,opened,MORPH_ GRADIENT,element);//形态学梯度运算

其中,

   element表示的就是结构元素的尺寸,如果直接使用Mat()OpenCV中则默认使用3*3的结构元素,当然也可以根据需要自定义结构元素的大小,如7*7,方法如下:

        Mat element(7,7,CV_8U,Scalar(1));

说明:

   这种形态学运算虽然理论上是对二值图像进行处理,但是OpenCV中仍然可以对灰度图像进行处理,并且使用方法是一样的,由于这几种运算实现起来比较简单,这里就不再将代码和处理结果贴出来了。

猜你喜欢

转载自blog.csdn.net/forthcriminson/article/details/8547297
今日推荐