vector<Point> hull;
vector<Point> defects;
convexHull(Mat(largest),hull,false);
convexityDefects(largest,hull,defects);
*самый большой мой самый большой контур на изображении
Но convexityDefects выдает мне эту ошибку «Ошибка утверждения (hull.checkVector (1, CV_32S)> 2)». Кто-нибудь, пожалуйста, помогите мне, я не хочу прибегать к использованию решения C.
ОТРЕДАКТИРОВАНО
vector<int> hull;
vector<Point> defects;
convexHull(Mat(largest),hull,false);
vector<vector<int>> testhull;
testhull.push_back(hull);
convexityDefects(largest,testhull,defects);
Я попытался сделать это с типом vector<vector<int>>
, прежде чем передать его в convexityDefects, но convexityDefects по-прежнему выдает мне ошибку «Утверждение не удалось (ptnum> 3)»..».