opencv2.4.11+vs2010
//SURF algorithm
#include <tchar.h>
#include "highgui.h"
#include "features2d/features2d.hpp"
#include "opencv2/nonfree/features2d.hpp"
#include "opencv2/nonfree/nonfree.hpp"
#include "legacy/legacy.hpp"
using namespace std;
using namespace cv;
void _tmain(int argc, _TCHAR* argv[])
{
/*1. input images*/
Mat input1=imread("img03.png",1);//read image1
Mat input2=imread("img04.png",1);//read image2
/*2. feature detector*/
SurfFeatureDetector detector;//define suft detector
vector<KeyPoint> keypoint1,keypoint2;//define kepoint vector
double t = (double)getTickCount();
detector.detect(input1,keypoint1);//extract features of image1
detector.detect(input2,keypoint2);//extract features of image2
/*3. feature descriptor*/
SurfDescriptorExtractor extractor;
Mat descriptor1,descriptor2;//define sift descriptor
extractor.compute(i