我是openCV的新手。我正在进行功能匹配。目前,我想使用openCV提取ORB功能。我搜索了示例并指导如何在openCV上使用ORB功能。我尝试了一个非常简单的源代码来提取我在互联网上提到的ORB功能。但是我不知道为什么它把一个 未处理的异常 与诸如“在0x1000AAD2(Ldcnlib.dll)中的未处理的异常”中的消息发送到了:exe.exe:0xC0000005:访问冲突写位置0x00000025“。这通常是一种内存错误。但我找不到原因。谁能帮我找到解决这个错误的解决方案? 输入图像大小为240x98。
源代码:
#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include "opencv2/features2d/features2d.hpp"
#include <vector>
using namespace cv;
using namespace std;
int main( int argc, char** argv )
{
Mat img_1 = imread("008_1.jpg",CV_LOAD_IMAGE_GRAYSCALE);
if (!img_1.data){
cout << "error"<< endl;
return -1;
}
// declare variables
OrbFeatureDetector detector;
vector<KeyPoint> kp1;
Mat desc1;
detector.detect(img_1,kp1);
// to do more
waitKey(0); // Wait for a keystroke in the window
return 0;
}