http://blog.csdn.net/shaoxiaohu1/article/details/40272875

2014-10-19 22:31 2802人阅读 评论(0) 收藏 举报
 分类:
图像与OpenCV(15) 

版权声明:本文为shaoxiaohu原创文章,欢迎转载,请注明出处,谢谢。

上一篇博文中介绍了matlab查找最大连通区域的方法,OpenCV函数中也有类似的函数与之对应,findCoutours。下面代码为使用示例:

  1. cv::Mat bwImg;
  2. vector<vector<cv::Point>> contours ;
  3. // 二值化图像
  4. cv::threshold(srcImg, bwImg, 0.0, 255.0, CV_THRESH_BINARY | CV_THRESH_OTSU);
  5. cv::imshow("binary image", bwImg);
  6. cv::waitKey();
  7. // 查找轮廓,对应连通域
  8. cv::findContours(bwImg,contours,CV_RETR_EXTERNAL,CV_CHAIN_APPROX_NONE);
  9. // 寻找最大连通域
  10. double maxArea = 0;
  11. vector<cv::Point> maxContour;
  12. for(size_t i = 0; i < contours.size(); i++)
  13. {
  14. double area = cv::contourArea(contours[i]);
  15. if (area > maxArea)
  16. {
  17. maxArea = area;
  18. maxContour = contours[i];
  19. }
  20. }
  21. // 将轮廓转为矩形框
  22. cv::Rect maxRect = cv::boundingRect(maxContour);
  23. // 显示连通域
  24. cv::Mat result1, result2;
  25. bwImg.copyTo(result1);
  26. bwImg.copyTo(result2);
  27. for (size_t i = 0; i < contours.size(); i++)
  28. {
  29. cv::Rect r = cv::boundingRect(contours[i]);
  30. cv::rectangle(result1, r, cv::Scalar(255));
  31. }
  32. cv::imshow("all regions", result1) ;
  33. cv::waitKey();
  34. cv::rectangle(result2, maxRect, cv::Scalar(255));
  35. cv::imshow("largest region", result2) ;
  36. cv::waitKey();

最新文章

  1. Sharepoint学习笔记—习题系列--70-576习题解析 -(Q56-Q58)
  2. FusionCharts或其它flash的div图层总是浮在最上层? (转)
  3. ubuntu下安装jdk
  4. paper 22:kl-divergence(KL散度)实现代码
  5. Java设计模式系列之桥接模式
  6. IEqualityComparer&lt;T&gt;接口
  7. SpringMVC强大的数据绑定
  8. Webapi文档描述-swagger优化
  9. Core Java 谈谈HashMap
  10. BZOJ3527[Zjoi2014]力——FFT
  11. Prometheus — Process-exporter进程监控
  12. Dynamics 365创建用户提示:您正在尝试使用已由其他用户使用的域登录来创建用户。如何解决。
  13. Linux 运维工作中的经典应用ansible(批量管理)Docker容器技术(环境的快速搭建)
  14. 莫烦scikit-learn学习自修第三天【通用训练模型】
  15. day60 pymysql
  16. nginx LetsEncrypt
  17. 【BJOI2019】光线 模拟
  18. java中类的加载顺序介绍(ClassLoader)
  19. JavaScript条件和循环以及异常处理
  20. 《玩转Spring》第二章 BeanPostProcessor扩展

热门文章

  1. Express ( MiddleWare/中间件 路由 在 Express 中使用模板引擎 常用API
  2. 基于HTML5 的WebSql本地设备数据库
  3. docker安装升级linux内核(2.6.32-&gt;3.12.17)
  4. Linux学习 -- 常用命令
  5. js监听事件 上滑消失下滑出现的效果 触摸与手势事件
  6. SVD分解技术详解
  7. z-index研究
  8. 2016 ASC 移动物联网安全高峰论坛 万物互联时代的安全与隐私
  9. 《JS权威指南学习总结--6.3删除属性》
  10. Apache httpd.conf配置详解