Я пытаюсь сопоставить два контура с помощью метода matchShapes, но всегда получаю ошибку утверждения. Я знаю, что это должно быть как-то связано с неправильным форматом Mat, но я не могу решить эту проблему.
findContours работает очень хорошо:
vector<vector<cv::Point> > contours;
cv::findContours(incomingimage,
contours,
CV_RETR_EXTERNAL,
CV_CHAIN_APPROX_SIMPLE);
vector<vector<cv::Point> > contourstwo;
cv::findContours(incomingimagetwo,
contourstwo,
CV_RETR_EXTERNAL,
CV_CHAIN_APPROX_SIMPLE);
Я получаю хороший результат от этих методов, но затем
matchShapes(Mat(contours), Mat(contourstwo), CV_CONTOURS_MATCH_I3, 0);
возвращается
Ошибка OpenCV: утверждение не удалось
Я немного в темноте здесь. Любая помощь будет высоко ценится.
Спасибо большое.