opencv - SIFT特征检测器产生未处理的异常

标签 opencv 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);
我已经一遍又一遍地检查了,不知道问题可能是由什么引起的。

附言我首先尝试用SiftFeatureDetector代替FeatureDetector::create("SIFT");,但出现错误,因为它在库文件中找不到SiftFeatureDetector。我从该论坛上的帖子中了解了这两个代码示例。

谢谢

最佳答案

我不知道您是否尝试过此方法,但是由于它现在位于nonfree.h库中,因此您需要使用initModule_nonfree()。那为我解决了问题。

关于opencv - SIFT特征检测器产生未处理的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13149807/

相关文章:

image-processing - SIFT 在内存方面有多贵?

opencv - 使用opencv提取更少的关键点

ios - opencv sift算法,如何从findHomography获得置信度

c++ - 使用 FLANN 匹配从 OpenCV SIFT 列表中识别图像

c# - 我无法在我的项目中使用我已经导入的库作为引用

python - 如何使用变形网格扭曲图像

Python openCV 2.4.3 cv2.SolvePnP 错误

android - 如何在 OpenCv 中将浮点图像转换为 32 位单 channel ?

c++ - Charuco Marker 和 Diamond Marker 之间的确切区别是什么?

java - 在 Android 中使用 OpenCV 将 NV21 转换为 RGB