Я ищу самый простой способ применить смещение, чтобы минимизировать маску на изображении. Я пытался использовать функцию fillPoly. Названия атрибутов 'shift' и 'offset', особенно последние, звучали хорошо. К сожалению, я получил ошибку: -215 Утверждение не удалось, когда я попытался его использовать.
Я не могу найти никаких примеров с использованием этих атрибутов. Может ли кто-нибудь указать на меня?
Это не весь код, но поможет понять мою проблему.
std::vector<std::vector<cv::Point> > fillContAll;
fillContAll.push_back(fillContSingle);
cv::Mat maska;
srcImage.copyTo(maska);
maska.setTo(0);
cv::fillPoly(maska, fillContAll, cv::Scalar(255, 255, 255),8,50);
// I tried also cv::fillPoly(maska, fillContAll, cv::Scalar(255, 255, 255),8,(5,5));
Полное сообщение об ошибке:
исключение! OpenCV (4.2.0) C: \ build \ master_winpack-build-win64-vc15 \ opencv \ modules \ imgproc \ src \ drawing. cpp: 2005: ошибка: (-215: утверждение не выполнено) pts && npts && ncontours> = 0 && 0 <= shift && shift <= XY_SHIFT в функции 'cv :: fillPoly' </p>