我正在用等高线在图像中找到一个物体。为了看最终结果,我在boundRects中附上了可能的学员,我要移除高度>宽度的总决赛直角(把它括在黑圈中)。任何关于这样做的建议。谢谢你的帮助和回应。我的代码是:
enter vector<vector<Point> > contours_poly(contours.size());
vector<Rect> boundRect(contours.size());
for (size_t i = 0; i < contours.size(); i++)
{
approxPolyDP(Mat(contours[i]), contours_poly[i], 3, true);
boundRect[i] = boundingRect(Mat(contours_poly[i]));
}
for (int i = 0; i < contours.size(); i++)
{
Scalar color = Scalar(255, 0, 255);
rectangle(result_white, boundRect[i].tl(), boundRect[i].br(), color, 2, 8, 0);
rectangle(imageLoad, boundRect[i].tl(), boundRect[i].br(), color, 2, 8, 0);
}
imshow("white final", imageLoad);最后的结果是:最终图像
发布于 2016-10-09 20:09:01
为什么要把它们移走?
如果它们不符合您的要求,就不要将它们附加到矩形的向量中(使用push_back表示向量)。
https://stackoverflow.com/questions/39947749
复制相似问题