我是opencv的初学者。我有一个用opencv和c ++编写的代码,它可以在相机的帮助下检测方形,三角形,圆形等几何对象。我试图在Windows终端和摄像机输出屏幕上打印检测到的对象的坐标和名称。我无法弄清楚如何操作。
这是我的代码
void setLabel(cv::Mat& im, const std::string label, std::vector<cv::Point>& contour)
{
int fontface = cv::FONT_HERSHEY_SIMPLEX;
double scale = 0.4;
int thickness = 1;
int baseline = 0;
cv::Size text = cv::getTextSize(label, fontface, scale, thickness, &baseline);
cv::Rect r = cv::boundingRect(contour);
cv::Point pt(r.x + ((r.width - text.width) / 2), r.y + ((r.height + text.height) / 2));
cv::rectangle(im, pt + cv::Point(0, baseline), pt + cv::Point(text.width, -text.height), CV_RGB(255,255,255), CV_FILLED);
cv::putText(im, label, pt, fontface, scale, CV_RGB(0,0,0), thickness, 8);
}
我正在写这样的条件
if (approx.size() == 3)
{
setLabel(dst, "TRIANGLE", contours[i]); // Triangles
}
提前致谢!!!!!