Używanie FeatureDetector w OpenCV daje naruszenie zasad dostępu
Muszę znaleźć i dopasować punkty funkcji w obrazach stereo. Dlatego chcę porównać różne algorytmy wykrywania funkcji obsługiwane w OpenCV 2.4.5. przekazując funkcję „SURF”, „SIFT” itp.
Fragment kodu:
#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);
}
Błąd:
Unhandled exception at 0x770b15de in DisparityAnalysis.exe: 0xC0000005: Access violation reading location 0x00000000.
Szukałem już rozwiązań i znalazłem to:Odczyt naruszenia dostępu w FeatureDetector OpenCV 2.4.5 Różnica, którą rozpoznałem, polega na tym, że na początku używają one cv :: initModule_nonfree (). Ale podczas kopiowania go do mojego kodu nie kompiluje się, ponieważ nie znaleziono identyfikatora. Jakieś sugestie?