用drawContours绘制点的序列

时间:2012-11-23 13:41:11

标签: c++ opencv

我想使用OpenCV drawContours函数绘制自定义点数序列。

我的代码:

std::vector<std::vector<cv::Point> > contours;
std::vector<cv::Point> contour1;
contour1.push_back(cv::Point(100,100));
contour1.push_back(cv::Point(500,500));
contour1.push_back(cv::Point(500,100));
contours.push_back(contour1);
cv::drawContours(testDrawingImage,contours,-1,cv::Scalar(0,0,255),5);
cv::imshow("test",testDrawingImage);

为什么在这种情况下绘制三角形而不是L形?

当然我知道我可以用线来做这件事。但也许有人想出应该如何传递给drawContours函数。

1 个答案:

答案 0 :(得分:2)

drawContours()完全按照它所说的那样做,它绘制一个由你给它的点所包围的轮廓。轮廓是闭合形状的轮廓,因此drawContours()函数将根据您提供的点为您提供闭合形状。