0
以下代碼僅用於查看SIFT中的特徵檢測。問題在於,當我運行它時,它會中斷。SIFT特徵檢測器產生未處理的異常
#include <features2d.hpp>
#include <stdafx.h>
#include <stdlib.h>
#include <cv.hpp>
#include <cxcore.hpp>
#include <highgui.h>
#include <iostream>
using namespace cv;
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
Mat img = imread("c:\\chappal.jpg", 0);
Ptr<FeatureDetector> feature_detector = FeatureDetector::create("SIFT");
vector<KeyPoint> keypoints;
feature_detector->detect(img, keypoints);
Mat output;
drawKeypoints(img, keypoints, output, Scalar(255, 0, 0));
namedWindow("meh", CV_WINDOW_AUTOSIZE);
imshow("meh", output);
waitKey(0);
return 0;
}
當調試一步一步的在這條線的程序中斷:feature_detector->detect(img, keypoints);
我都檢查一遍,再和不知道是什麼問題所致。
P.S.我第一次嘗試SiftFeatureDetector
代替FeatureDetector::create("SIFT");
,但得到錯誤,因爲它在庫文件中找不到SiftFeatureDetector
。我在這個論壇上了解到來自帖子的兩個代碼示例。
謝謝
我發現''SiftFeatureDetector''現在保存在非空閒文件夾中的獨立庫中。如果是這樣,爲什麼在這個2.4教程中沒有使用非自由庫:http://docs.opencv.org/doc/tutorials/features2d/feature_detection/feature_detection.html? – StuckInPhD