Использование FeatureDetector в OpenCV дает нарушение прав доступа
Мне нужно найти и сопоставить характерные точки в стерео изображениях. Поэтому я хочу сравнить различные алгоритмы обнаружения функций, которые поддерживаются в OpenCV 2.4.5. передавая "SURF", "SIFT" и т. д. в функцию.
Фрагмент кода:
#include "opencv2/opencv.hpp"
#include <opencv/highgui.h>
#include <opencv2/nonfree/features2d.hpp>
using namespace cv;
using namespace std;
...
void DisparityAnalysis::detectKeyPoints(Mat1b leftImageGrey, Mat1b rightImageGrey, string algorithmName)
{
Ptr<FeatureDetector> detector = FeatureDetector::create(algorithmName);
detector->detect(leftImageGrey, keypoints_1);
detector->detect(rightImageGrey, keypoints_2);
}
Ошибка:
Unhandled exception at 0x770b15de in DisparityAnalysis.exe: 0xC0000005: Access violation reading location 0x00000000.
Я уже искал решения и нашел это:Чтение нарушения доступа в FeatureDetector OpenCV 2.4.5 Разница, которую я узнал, состоит в том, что они используют cv :: initModule_nonfree () в начале. Но при копировании в мой код он не компилируется, потому что идентификатор не найден. Какие-либо предложения?