Я пытаюсь выполнить обнаружение объекта с помощью OpenCV на iOS. Я использую this code sample from the documentation.OpenCV DescriptorExtractor возвращает пусто
Вот мой код:
Mat src = imread("src.jpg");
Mat templ = imread("logo.jpg");
Mat src_gray;
cvtColor(src, src_gray, CV_BGR2GRAY);
Mat templ_gray;
cvtColor(templ, templ_gray, CV_BGR2GRAY);
int minHessian = 500;
OrbFeatureDetector detector(minHessian);
std::vector<KeyPoint> keypoints_1, keypoints_2;
detector.detect(src_gray, keypoints_1);
detector.detect(templ_gray, keypoints_2);
OrbDescriptorExtractor extractor;
Mat descriptors_1, descriptors_2;
extractor.compute(src_gray, keypoints_1, descriptors_1);
extractor.compute(templ_gray, keypoints_2, descriptors_2);
Проблема находится на линии extractor.compute(src_gray, keypoints_1, descriptors_1);
, которая оставляет descriptors_1
всегда пустой.
src
и templ
не являются пустым.
Любые мысли?
Благодаря
Является ли keypoints_1 пустым? – Dennis
Да, 'keypoints_1' пуст. – Eric
Тогда вы не можете рассчитать дескрипторы, и поэтому дескрипторы_1 пуст. – Dennis