opencv连通区域分析,opencv 面积筛选

  opencv连通区域分析,opencv 面积筛选

  这篇文章主要为大家介绍了开放计算机视觉根据面积筛选连通域学习示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  

目录

学习目标:示例代码

 

  

学习目标:

 

  对二值图进行分析,设定最大最小面积区间

  保留该面积区间内的区域

  

示例代码

 

  //src为二值图,米纳尔阿,最大面积为面积阈值,目的地为结果图像

  void connectionAreaSelect(Mat src,int minArea,int maxArea,Mat dest)

  {

  垫子标签,统计数据,质心,图像颜色

  //连通域计算

  int NC comps=connectedComponentsWithStats(

  src,//二值图像

  标签,

  统计数据,

  质心

  );

  //去除过小区域,初始化颜色表

  vectorVec3b颜色(nccomps);

  colors[0]=Vec3b(0,0,0);//背景像素保持黑色。

  for(int I=1;一。nccomps我)

  {

  colors[i]=Vec3b(rand() % 256,rand() % 256,rand()% 256);

  //面积阈值筛选

  int holeArea=stats.atint(i,CC _ STAT _ AREA);

  if((孔面积minArea) (孔面积最大面积))

  {

  colors[i]=Vec3b(0,0,0);

  }

  }

  //按照标签值,对不同的连通域进行着色

  img _ color=mat :零(src。size()、CV _ 8uc 3);

  for(int y=0;y img _ color.rowsy)

  {

  for(int x=0;x img _ color.colsx)

  {

  int label=labels.atint(y,x);

  CV_Assert(0=标签label=nccomps);

  img_color.atVec3b(y,x)=colors[label];

  }

  }

  //统计降噪后的连通区域

  无光泽灰色;

  cvtColor(img_color,grayImg,COLOR _ bgr 2 gray);

  threshold(grayImg,grayImg,1,255,THRESH _ BINARY);

  dest=灰色img。clone();

  标签。发布();

  统计数据。发布();

  质心。发布();

  img _ color。发布();

  灰色img。发布();

  }

  以上就是开放计算机视觉根据面积筛选连通域学习示例的详细内容,更多关于开放计算机视觉根据面积筛选连通域的资料请关注盛行信息技术软件开发工作室其它相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • opencv图像识别数字,opencv 识别
  • opencv图像识别数字,opencv 识别,如何基于opencv实现简单的数字识别
  • opencv图像的旋转角度计算,opencv图像仿射变换
  • opencv图像的旋转角度计算,opencv图像仿射变换,OpenCV图像几何变换之透视变换
  • opencv图像的旋转角度计算,opencv 旋转任意角度
  • opencv图像的旋转角度计算,opencv 旋转任意角度,opencv图片的任意角度旋转实现示例
  • opencv图像处理函数,opencv图像轮廓合并
  • opencv图像处理函数,opencv图像轮廓合并,OpenCV图像处理之七种常用图像几何变换
  • opencv双线性插值函数,opencv 图像插值
  • LBPH人脸识别,基于opencv的人脸识别技术
  • LBPH人脸识别,基于opencv的人脸识别技术,Opencv LBPH人脸识别算法详解
  • ,,OpenCV黑帽运算(BLACKHAT)的使用
  • opencv双线性插值函数,opencv 图像插值,C++ OpenCV实现图像双三次插值算法详解
  • ,,C语言 OpenCV实现柱面投影
  • ,,C++ Opencv imfill孔洞填充函数的实现思路与代码
  • 留言与评论(共有 条评论)
       
    验证码: