1>main.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall cv::SIFT::SIFT(int,int,double,double,doubl
///SIFT特征点匹配
#include "opencv2/opencv.hpp"
using namespace cv;
#include "opencv2/nonfree/nonfree.hpp"//SIFT相关
#include "opencv2/legacy/legacy.hpp"//匹配器相关
#include <iostream>
using namespace std;
int main()
{
//1.SIFT特征点提取——detect()方法
Mat srcImg1 = imread("F:\\9401.jpg", CV_LOAD_IMAGE_COLOR);
Mat srcImg2 = imread("f:\\QQ4.jpg", CV_LOAD_IMAGE_COLOR);
Mat dstImg1, dstImg2;
SiftFeatureDetector siftDetector;//SiftFeatureDetector是SIFT类的别名
vector<KeyPoint> keyPoints1;
vector<KeyPoint> keyPoints2;
siftDetector.detect(srcImg1, keyPoints1);
siftDetector.detect(srcImg2, keyPoints2);
drawKeypoints(srcImg1, keyPoints1, dstImg1);
drawKeypoints(srcImg2, keyPoints2, dstImg2);
imshow("dstImg1", dstImg1);
imshow("dstImg2", dstImg2);
waitKey(0);
return 0;
}
以上代码出现如下图所示错误:
错误原因:项目->属性->链接器->输入->附加依赖项,如果是debug版本则是由于没有添加opencv_nonfree2410d.lib,如果是release版本,则是由于没有添加有opencv_nonfree2410.lib。d的是debug版本, 没有的是release版本。如下图所示: