Рисование последовательности точек с помощью drawContours

Я хочу нарисовать пользовательскую последовательность очков с 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 функция.

0

Решение

drawContours() делает именно то, что говорит, рисует контур, заключенный в точки, которые вы ему даете. Контур — это контур замкнутой формы, поэтому drawContours() Функция даст вам замкнутую форму из точек, которые вы предоставляете.

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector