OpenCV填充洞二进制垫为多个对象
OpenCV Fill Holes in Binary Mat for Multiple Objects
我有在二进制阈值矩阵中显示为白色晕的对象。我用下面的代码填充白色的光晕,这样我就可以在矩阵中有实心的白色圆圈了:
void processBinary(Mat& binaryMat) {
Mat clone;
binaryMat.copyTo(clone);
vector<vector<Point>> contours;
findContours(clone, contours, RETR_EXTERNAL, CHAIN_APPROX_SIMPLE);
if (!contours.empty()) {
drawContours(binaryMat, contours, 0, Scalar(255), CV_FILLED);
}
}
如果我在相机馈送中只有一个对象,则此操作有效。然而,对于多个相同的物体,它不会对任何物体进行填充,除非我从场景中删除除一个物体外的所有物体。我如何修复代码,使每个对象被填充为一个白色的实心圆?
drawContours方法循环通过所有轮廓吗?控件基本上是作为链表类型给出的,必须通过调用while(contours!=null)来循环获取它们。.…contours = contours. vnext;//或HNext取决于你的代码
相关文章:
- 使用动态实例化的对象填充矢量的快速方法
- C++ - 对象填充的复杂性
- 哪些值存储在对齐的结构/类对象的填充字节中
- 如何使用数据成员填充派生类的对象到基类的指针数组中
- 在运行时 c++ 更改用类对象填充的数组的大小
- 用于填充 Base 和派生对象的 shared_ptr 向量的函数模板
- 如何在文本文件中逐行读取并填充指向对象数组的指针
- 填充不同对象的矢量
- C++填充一个std::map创建不必要的对象
- 提升:创建对象并用线程填充矢量
- 使用相同的数据填充数组对象或使用指针
- 如何创建一个ifstream对象的数组,以及如何使用编号的文本文件填充该数组
- boost线程未填充通过引用传递的本地对象
- 填充对象的C++二维数组
- 当您有结构名称和字段值的列表时,是否可以以编程方式创建结构的对象并填充字段
- 从文件填充对象的向量
- VTK 定位摄像机以用对象填充视口
- 如何实例化 int 类型的数组对象并在 c++ 中填充它
- 如何在类中用不同类的对象填充向量
- 如何使用指针用对象填充矢量