fillConvexPoly
함수를 사용하여 마스크에서 삼각형을 채우려고합니다. 하지만 다음과 같은 오류가 발생합니다. trOutCroppedInt 그래서 같이 정의 I 너무 등과 같은 함수를 호출C++의 OpenCV fillConvexPoly 함수가 예외를 throw합니다.
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);
,
std::vector<cv::Point> trOutCroppedInt
그리고이 벡터에 3 점 푸시
[83, 46; 0, 48; 39, 0]
이 오류를 어떻게 수정해야합니까? 아르 자형? 오류 points.checkVector (2 CV_32S)> = 약
[mcve]를 게시하십시오. 이것은 나를 위해 완벽하게 작동합니다, 아마 당신은 코드에 어떤 문제가 있습니다. – Miki