2013-07-22 1 views
4

스테레오 이미지의 특징점을 찾아서 일치시켜야합니다. 따라서 OpenCV 2.4.5에서 지원되는 다양한 기능 감지 알고리즘을 비교하고 싶습니다. "SURF", "SIFT"등을 함수에 전달합니다.OpenCV에서 FeatureDetector를 사용하면 액세스 위반이 발생합니다.

코드 조각 :

#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. 

이미 솔루션 검색이 하나를 발견했습니다 Access violation reading in FeatureDetector OpenCV 2.4.5 내가 인식 한 차이는 그들이 이력서를 사용하는 것이있다 :: 시작시 initModule_nonfree(). 그러나 코드를 내 코드에 복사 할 때 식별자가 없기 때문에 컴파일되지 않습니다. 제안 사항이 있으십니까?

답변

3

SIFT와 SURF를 들어, 비 자유 모듈이 필요합니다, 즉 :

  • 는 "opencv2/비 자유/nonfree.hpp"

  • 통화 이력서 :: initModule_nonfree()에 포함

+0

감사 @berak opencv_nonfree2.4.x.lib에 대한 시작

  • 링크, becaus e "opencv2/nonfree/nonfree.hpp"가 누락되었습니다. cv :: initModule_nonfree()가 오류를 발생했습니다. – filla2003