0

drawContoursOpenCV関数でポイントのカスタムシーケンスを描きたいです。

私のコード:

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

4

1 に答える 1

2

drawContours()それが言うことを正確に行い、あなたがそれを与える点で囲まれた輪郭を描きます。輪郭は閉じた形状の輪郭であるため、このdrawContours()関数は、指定したポイントから閉じた形状を提供します。

于 2012-11-23T13:45:05.300 に答える