OpenCV C++ cv ::ошибка выпуклости дефектов

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

0
задан XterNalz 7 August 2012 в 08:15
поделиться