用vs2010编译出现如下错误,求大神指导!
1>SURF.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall cv::SURF::SURF(void)" (??0SURF@cv@@QAE@XZ),该符号在函数 _main 中被引用1>SURF.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall cv::SURF::SURF(double,int,int,bool,bool)" (??0SURF@cv@@QAE@NHH_N0@Z),该符号在函数 _main 中被引用
#include "opencv2/core/core.hpp"
#include "opencv2/features2d/features2d.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <opencv2/nonfree/nonfree.hpp>
#include<opencv2/legacy/legacy.hpp>
#include <iostream>
#include<ctime>
using namespace cv;
using namespace std;
int main()
{
//【1】载入测试图
Mat img_1 = imread("img1.jpg");
Mat img_2 = imread("img5.jpg");
if( !img_1.data || !img_2.data )
{
printf("读取图片错误,请确定目录下是否有imread函数指定的图片存在~! \n");
return false;
}
//【2】使用SURF算子检测关键点
int minHessian = 700;//SURF算法中的hessian阈值
SurfFeatureDetector detector( minHessian );//定义一个SurfFeatureDetector(SURF) 特征检测类对象
std::vector<KeyPoint> keyPoints1, keyPoints2;//vector模板类,存放任意类型的动态数组
//【3】调用detect函数检测出SURF特征关键点,保存在vector容器中
detector.detect( img_1, keyPoints1 );
detector.detect( img_2, keyPoints2 );
//【4】计算描述符(特征向量)
SurfDescriptorExtractor extractor;
Mat descriptors1, descriptors2;
( img_1, keyPoints1, descriptors1 );
( img_2, keyPoints2, descriptors2 );
//【5】使用BruteForce进行匹配
// 实例化一个匹配器
BruteForceMatcher< L2<float> > matcher;
std::vector< DMatch > matches;
//匹配两幅图中的描述子(descriptors)
matcher.match( descriptors1, descriptors2, matches );
//【6】绘制从两个图像中匹配出的关键点
Mat imgMatches;
drawMatches(img_1, keyPoints1, img_2, keyPoints2, matches, imgMatches );//进行绘制
//【7】显示效果图
imshow("匹配图", imgMatches );
waitKey(0);
return 0;
}
[ 本帖最后由 chuanyunying 于 2015-3-19 20:01 编辑 ]