0

我是openCV的新手。我正在研究特征匹配。目前,我想使用 openCV 提取 ORB 特征。我搜索了如何在 openCV 上使用 ORB 功能的示例和指南。我尝试了一个非常简单的源代码来提取我在互联网上提到的 ORB 功能。但我不知道为什么它会抛出一个未处理的异常,并显示类似“motors.exe 中 0x1000AAD2 (Ldcnlib.dll) 的未处理异常: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;
}
4

0 回答 0