【问题标题】:How to calculate holes number of the image (binary) using opencv function如何使用opencv函数计算图像的孔数(二进制)
【发布时间】:2014-02-28 18:46:49
【问题描述】:

我想计算欧拉数,所以我需要连接组件的数量和图像中孔的数量。我找到了如何查找连接组件的数量。使用此代码;

vector<vector<Point>>contours;
vector<Vec4i>hierarchy; 
findContours(mat,contours,hierarchy,CV_RETR_CCOMP,CV_CHAIN_APPROX_SIMPLE ); 
objects_num=contours.size(); 

但我不确定计算连接组件的正确代码。你知道这段代码是对的吗?

其次**但我不知道如何计算孔的数量?opencv doc说所有的轮廓都组织成两级层次结构, 你知道如何获得孔的数量吗?

【问题讨论】:

  • 张贴您的图片将有助于更好地了解您的问题。

标签: c++ opencv components eulers-number


【解决方案1】:

我正在尝试从该图像中提取特征。例如我需要欧拉数、填充区域属性。为此原因;我试图找出黑色素瘤图片中孔的数量和连接组件的数量。你知道找到这些属性的任何函数吗?

PS:我正在使用 opencv for android 在 Android 平台上工作。

【讨论】:

  • 由于声誉问题,我无法上传图片。
【解决方案2】:

所以,我可以建议您开始研究 OpenCV 如何处理斑点(以及描述斑点的轮廓)。

如果您对面积、质心等 blob 属性感兴趣,可以使用image moments(也可以查看here)。

也尝试看看那些处理“寻找漏洞”的教程,herehere

【讨论】:

  • 感谢 nkint,我会尝试使用 findContour 函数及其层次结构功能:) 我希望,我没有遇到任何问题。
  • 有帮助吗?它回答了问题吗?
猜你喜欢
  • 2021-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-15
  • 2017-08-01
  • 2013-02-15
  • 2012-11-23
相关资源
最近更新 更多