用形态学运算变换图像(三)在灰度图像中应用形态学运算

论坛 期权论坛 脚本     
匿名网站用户   2020-12-20 02:46   11   0

(三)在灰度图像中应用形态学运算
多种基本形态学滤波器,组合起来形成高级形态学运算,本节将其应用于灰度图像上可以检测图像的特征。
3.1 实现
3.1.1 形态学梯度运算,可以提取图像的边缘,具体为cv::morphologyEx 函数,如下:

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

得到图像中物体的轮廓(为了便于观察,可做反色处理)。
3.1.2 顶帽(hat-top)变换,作为一种实用的形态学运算,可从图像中提取出局部的小型前景物体。为验证效果,使用cv::morphologyEx 函数并采用正确的参数,可以调用黑帽变换提前出页面上文字(作为前景物体):

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

3.2 原理
灰度图像,可被形象比喻为不同高度(或海拔)的地势,明亮的区域代表高山,黑暗区域代表深谷,边缘相当于黑暗和明亮之间的快速过渡。腐蚀,即替换成特定邻域的最小值,结果悬崖缩小,山谷扩大;反之,悬崖扩大,山谷缩小;不管何种情况, 强度值固定的区域(即平地)都会相对保持不变。
检测图像边缘,即通过计算膨胀后的图像与腐蚀后的图像之间的差距得到边缘。在cv::morphologyEx函数中输入cv::MORPH_GRADIENT参数,可实现此功能。结构元素越大,检测到的边缘就越宽,这种运算成为Beucher梯度。得到类似结果的两种简单方法是:用膨胀后的图像减去原始图像,或者,用原始图像减去腐蚀后的图像,得到的便于会更窄。
顶帽运算的互补运算,即黑帽运算。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1136255
帖子:227251
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP