【发布时间】:2016-06-24 03:03:05
【问题描述】:
我的对象在二进制阈值矩阵中显示为白色光晕。我制作了这段代码来填充白色的光晕,这样我就可以在矩阵中有实心的白色圆圈:
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(binaryMat, contours, -1, Scalar(255), CV_FILLED); -
成功了,谢谢!
标签: c++ opencv image-processing