当前位置:   article > 正文

opencv2.x 以上 删除二值化图像中面积较小的区域_opencv小于指定大小的区域

opencv小于指定大小的区域
  1. Mat remove_block(double minarea, Mat& src){
  2. CvSeq* contour = NULL;
  3. double tmparea = 0.0;
  4. CvMemStorage* storage = cvCreateMemStorage(0);
  5. //const char* tmpaddsum1 = tmp_string.c_str();
  6. //IplImage* img_src = cvLoadImage(tmpaddsum1, CV_LOAD_IMAGE_ANYCOLOR);
  7. IplImage* img_src = &IplImage(src);
  8. IplImage* img_Clone = cvCloneImage(img_src);
  9. //访问二值图像每个点的值
  10. uchar *pp;
  11. IplImage* img_dst = cvCreateImage(cvGetSize(img_src), IPL_DEPTH_8U, 1);
  12. //-----搜索2值图中的轮廓,并从轮廓树中删除面积小于minarea的区域-----//
  13. //CvScalar color = cvScalar(255, 0, 0);//CV_RGB(128,0,0)
  14. CvContourScanner scanner = NULL;
  15. scanner = cvStartFindContours(img_src, storage, sizeof(CvContour), CV_RETR_CCOMP, CV_CHAIN_APPROX_NONE, cvPoint(0, 0));
  16. //开始遍历轮廓树
  17. CvRect rect;
  18. while (contour = cvFindNextContour(scanner)){
  19. tmparea = fabs(cvContourArea(contour));
  20. rect = cvBoundingRect(contour, 0);
  21. if (tmparea < minarea){
  22. //当连通区
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/72440?site
推荐阅读
相关标签
  

闽ICP备14008679号