OpenCV灰度图像中应用形态学

OpenCV灰度图像中应用形态学,本文将介绍两种形态学运算,将它们应用于灰度图像上可以检测图像的特征。

如何实现

形态学梯度运算可以提取出图像的边缘,具体方法为使用cv::morphologyEx函数,代码如下所示:

// 用3×3 结构元素得到梯度图像
cv::Mat result;
cv::morphologyEx(image, result,
                 cv::MORPH_GRADIENT, cv::Mat());

得到图像中物体的轮廓(为方便观察,对图像做了反色处理)。

OpenCV灰度图像中应用形态学

另一种很实用的形态学运算是顶帽(hat-top)变换,它可以从图像中提取出局部的小型前景物体。由图可知,页面的光照并不均匀。通过使用cv::morphologyEx函数并采用正确的参数,可以调用黑帽变换提取出页面上的文字(作为前景物体):

// 使用7×7 结构元素做黑帽变换
cv::Mat element7(7, 7, CV_8U, cv::Scalar(1));
cv::morphologyEx(image, result, cv::MORPH_BLACKHAT, element7);

运行结果如下图所示,它可以从图像中提取出大部分文字。
OpenCV灰度图像中应用形态学

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!