2012-11-23 50 views
0

我想用OpenCV drawContours函數繪製點的自定義序列。用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函數。

回答

2

drawContours()確實如其所說的那樣,它繪製了一個由您給出的點所包圍的輪廓。輪廓是封閉形狀的輪廓,因此drawContours()函數會根據您提供的點爲您提供封閉的形狀。