如何使用opencv函数计算图像的孔数(二进制)
How to calculate holes number of the image (binary) using opencv function
我想计算欧拉数,所以我需要连接组件的数量和图像中孔的数量。我找到了如何找到连接组件的数量。使用此代码;
vector<vector<Point>>contours;
vector<Vec4i>hierarchy;
findContours(mat,contours,hierarchy,CV_RETR_CCOMP,CV_CHAIN_APPROX_SIMPLE );
objects_num=contours.size();
但我不确定计算连接组件的正确代码。你知道这段代码是正确的吗?
其次**但我不知道如何计算孔数?opencv 文档说,所有轮廓都组织成两级层次结构,你知道如何获得孔的数量吗?
我正在尝试从该图像中提取特征。例如,我需要欧拉数,填充区域属性。出于这个原因;我正在尝试计算黑色素瘤图片中的孔数和连接组件的数量。你知道有什么函数来查找这些属性吗?
PS:我正在使用 opencv for Android 在 Android 平台上工作。
因此,我可以建议你开始研究OpenCV如何处理blob(以及描述blob的轮廓)。
如果您对面积、质心等 blob 属性感兴趣,您可以使用图像时刻(也可以查看此处)。
尝试查看这些处理"查找漏洞"的教程,在这里和这里。
相关文章:
- visual在c++中将十进制数转换为二进制数
- cpp二进制搜索问题,计算给定数组中输入元素的出现次数
- 二进制搜索树叶数问题
- 二进制数之和(使用C样式字符串)
- C++从二进制转换为十进制数
- 保存/加载大量短数组到二进制文件
- 从二进制文件中读取整数数组
- 我编写了代码将十进制分数转换为其二进制等效数.它编译得很好,但在执行时挂起
- 以十为基数的数字到布尔数组,该数组要求二进制/基数为 2 的数字
- 递归二进制搜索与字符串数组
- 以 10 c++ 为基数显示 1024 位二进制数
- 二进制数和位标志'x'
- C++ 二进制数到整数值的数组
- 二进制数组中最大连续 1 的起始和结束索引,以 C++ 为单位
- 如何使用连接器 c++ 在 mySQL 表二进制(16) 字段中存储 c++ 字节数组?
- dev如何在C++中比较二进制数
- 如果你有一个固定大小的数组,你需要遍历它!n次,使用二进制搜索如何改变时间复杂性
- 递归回溯打印长度为N的二进制数的所有组合,而不使用循环
- 如何将 numpy 二维数组作为一种可以用C++读取的二进制格式存储在磁盘上
- 如何使用opencv函数计算图像的孔数(二进制)