当前位置:   article > 正文

图像二值化后提边缘效果不好?那是你不会用HSV色彩空间_二值化后图像边界不规则

二值化后图像边界不规则

作者:RayChiu_Labloy
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处


        我们平时在做图像边缘提取的时候一般经常在RGB空间做图像二值化然后阈值处理后提取边缘,大多数情况是效果不错的,但是有些图像对比度和色彩区分度不是很好,那么RGB空间处理效果就不够用了。

        我们这这种情况下可转成HSV色彩空间,提取其三个维度的图像,然后做权重加和处理,再经过滤波后的直接canny出来的边缘效果会非常好。

        江湖我雷哥,人狠话不多,桑代码:

  1. cv::Mat HSV;
  2. cv::cvtColor(imgSmall, HSV, COLOR_BGR2HSV);
  3. std::vector<cv::Mat> splitImage;
  4. cv::split(HSV, splitImage);
  5. cv::Mat H, S, V;
  6. H = splitImage[0];
  7. S = splitImage[1];
  8. V = splitImage[2];
  9. cv::Mat addImage = 0.3 * V + 0.7 * H; //加权融合处理
  10. //cv::addWeighted();
  11. cv::Mat filter;
  12. cv::Mat filter_v = 255 - addImage; //前景目标为白色
  13. cv::medianBlur(filter_v, filter, 9); //中值滤波使边缘均衡清晰
  14. cv::threshold(filter, imgThresh, 190, 255, THRESH_BINARY);
  15. cv::Canny(imgThresh, imgCny, mControlParams_[0], mControlParams_[1], mControlParams_[2], true);

效果图那是贼棒!

(加权滤波后的图 )

 

 (canny后的效果图)

边缘提取这一块,你说气人不!!!

【如果对您有帮助,交个朋友给个一键三连吧,您的肯定是我博客高质量维护的动力!!!】 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/604353
推荐阅读
相关标签
  

闽ICP备14008679号