qt — C ++ исключение в cv :: BFMatcher

У меня проблемы с cv :: BFMatcher, когда я пытаюсь выполнить сопоставление функций. Я вычисляю дескрипторы с помощью дескриптора xfeatures2D :: SIFT. Когда я пытаюсь выполнить сопоставление, вывод приложения показывает «Исключение в 0x7ff833308b9c, код: 0xe06d7363: исключение C ++, flags = 0x1 (выполнение не может быть продолжено) (первый шанс) в f: \ dd \ vctools \ crt_bld \ self_64_amd64 \ crt \ src \ xthrow.cpp: 13 «Код выглядит примерно так:

matchesltor.clear();
matchesrtol.clear();

cv::BFMatcher matcher(cv::NORM_L2);

ProcessedImageData *imageDataLeft = mImageDataMap.value(mapKeyList.at(m));
std::vector<cv::KeyPoint> tiePointsLeft = imageDataLeft->getTiepoints();
cv::Mat descriptorsLeft= imageDataLeft->getDescriptors();
ProcessedImageData *imageDataRight = mImageDataMap.value(mapKeyList.at(n));
std::vector<cv::KeyPoint> tiePointsRight = imageDataRight->getTiepoints();
cv::Mat descriptorsRight= imageDataRight->getDescriptors();

matcher.knnMatch(descriptorsLeft,descriptorsRight,matchesltor,2)
matcher.knnMatch(descriptorsRight,descriptorsLeft,matchesrtol,2)

Выходное сообщение отображается в первой строке, которая выполняет сопоставление «matcher.knnMatch (descriptorsLeft, descriptorsRight, matchltor, 2)».

Странно то, что он работает в одном проекте qt, который выполняет только обнаружение связующих точек, описание связующих точек и сопоставление, но когда я пытаюсь присоединить его к другому проекту (тот же код, тот же компилятор и та же версия qt), он показывает этот вывод сообщение и остановка выполнения (приложение не прерывается).

Спасибо за вашу помощь.

0

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]