您的位置:首页 > 编程语言 > Qt开发

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

2015-08-11 15:37 387 查看
代码如下:

#include <QCoreApplication>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>

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 函数其实用法跟腐蚀与膨胀的用法差不多,闭运算的定义是对图像线膨胀再腐蚀,开运算则相反。

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

开运算:用来消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并不明显改变其面积。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: