私は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;
}