Я пытаюсь найти положение изображения на другом изображении с помощью SURF, но каждый раз, когда я пытаюсь инициализировать детектор, он терпит неудачу, сообщая мне, что было нарушение прав доступа и что детектор.Ptr был «0xFFFFFFFFFFFFFF». Мой код:
auto detector = cv::xfeatures2d::SurfFeatureDetector::create();
detector->detect(map,keypointsMap);
detector->detectAndCompute(compare, noArray(), keypointsCompare, descriptorComp);
Это происходит, даже когда я использую пример кода из документации opencv (https://docs.opencv.org/3.4/d7/dff/tutorial_feature_homography.html). Я могу без проблем использовать другие платные функции, такие как SIFT. Я использую opencv4 и включаю следующие библиотеки:
#include "opencv2/core.hpp"
#include "opencv2/highgui.hpp"
#include "opencv2/features2d.hpp"
#include "opencv2/xfeatures2d.hpp"
#include "opencv2/xfeatures2d/nonfree.hpp"
#include "opencv2/imgproc.hpp"
Кто-нибудь видел эту проблему раньше и, возможно, знает решение? Спасибо