OpenCV形态学滤波器开启和闭合图像

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的结构元素。如果输入前文的二值图像,将得到如下所示的图像:
OpenCV形态学滤波器开启和闭合图像

与之类似,应用形态学开启运算后将得到如下图像:
OpenCV形态学滤波器开启和闭合图像

得到上面图像的代码是:

cv::Mat opened;
cv::morphologyEx(image, opened, cv::MORPH_OPEN, element5);

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!