OpenCV形态学滤波器开启和闭合图像,前文介绍了两种基本的形态学运算:腐蚀和膨胀。我们可以利用它们定义新的运算。本文将讲解开启和闭合运算。
如何实现
为了应用较高级别的形态学滤波器,需要用cv::morphologyEx
函数,并传入对应的函数代码。例如下面的调用方法将适用于闭合运算:
// 闭合图像
cv::Mat element5(5,5, CV_8U, cv::Scalar(1));
cv::Mat closed;
cv::morphologyEx(image, closed, // 输入和输出的图像
cv::MORPH_CLOSE, // 运算符
element5); // 结构元素
注意,为了让滤波器的效果更加明显,这里使用了5×5
的结构元素。如果输入前文的二值图像,将得到如下所示的图像:
与之类似,应用形态学开启运算后将得到如下图像:
得到上面图像的代码是:
cv::Mat opened;
cv::morphologyEx(image, opened, cv::MORPH_OPEN, element5);
酷客网相关文章:
评论前必须登录!
注册