Qt 5.3 下OpenCV 2.4.11 开发(14)开运算与闭运算

代码如下:

 

#include 
#include 
#include 
#include 

using namespace cv;

int main()
{   
    Mat src = imread("lena.jpg", 0);
    Mat dst, close, open;
    Mat element(5, 5, CV_8U, Scalar(1));
    threshold(src, dst, 100, 255, THRESH_BINARY_INV);
    namedWindow("dst", 0);
    imshow("dst", dst);

    morphologyEx(dst, close, MORPH_CLOSE, element);//闭运算
    namedWindow("close", 0);
    imshow("close", close);

    morphologyEx(dst, open, MORPH_OPEN, element);//开运算
    namedWindow("open", 0);
    imshow("open", open);

    waitKey(0);
}


函数介绍:

 

1、morphologyEx 函数其实用法跟腐蚀与膨胀的用法差不多,闭运算的定义是对图像线膨胀再腐蚀,开运算则相反。

闭运算:用来填充物体内细小空洞、连接邻近物体、平滑其边界的同时并不明显改变其面积。

开运算:用来消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并不明显改变其面积。

你可能感兴趣的:(Image,algorithm)