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 )..».