Я пытаюсь заполнить треугольник в маске, используя функцию fillConvexPoly
. Но я получаю следующую ошибку.Функция OpenCV fillConvexPoly в исключении C++ throws
OpenCV Error: Assertion failed (points.checkVector(2, CV_32S) >= 0) in fillConvexPoly, file /home/iris/Downloads/opencv-3.1.0/modules/imgproc/src/drawing.cpp, line 2256
terminate called after throwing an instance of 'cv::Exception'
what(): /home/iris/Downloads/opencv-3.1.0/modules/imgproc/src/drawing.cpp:2256: error: (-215) points.checkVector(2, CV_32S) >= 0 in function fillConvexPoly
я называю функцию, как это так,
cv::Mat mask = cv::Mat::zeros(r2.size(), CV_32FC3);
cv::fillConvexPoly(mask, trOutCroppedInt, cv::Scalar(1.0, 1.0, 1.0), 16, 0);
где trOutCroppedInt определяется как так,
std::vector<cv::Point> trOutCroppedInt
И я нажимаю 3 очка в векторе,
[83, 46; 0, 48; 39, 0]
Как исправить это erro р?
Пожалуйста, отправьте сообщение [mcve]. Это работает безупречно для меня, возможно, у вас есть некоторые проблемы в коде, который вы не показываете – Miki