7-将sift特征保存到文档里

1-

http://blog.csdn.net/woainiwss/article/details/49660393

2-

#include <opencv2/opencv.hpp> 

#include <opencv2/features2d/features2d.hpp>
#include<opencv2/nonfree/nonfree.hpp>
#include<opencv2/legacy/legacy.hpp>
#include<vector>
#include <fstream>

using namespace std;
using namespace cv;

int main()
{
//从文件中读入图像
Mat img = imread("1.jpg");

//如果读入图像失败
if (img.empty()){
fprintf(stderr, "Can not load image ");
return -1;
}
//显示图像
imshow("image before", img);

//sift特征检测
SiftFeatureDetector siftdtc;
vector<KeyPoint>kp;
siftdtc.detect(img, kp);
Mat outimg;
drawKeypoints(img, kp, outimg);
imshow("image keypoints", outimg);

SiftDescriptorExtractor extractor;//特征提取器
Mat descriptor;
extractor.compute(img, kp, descriptor);
ofstream file("./1.txt");
file << endl << descriptor << endl;

//此函数等待按键,按键盘任意键就返回
waitKey();
return 0;
}

3-

原文地址:https://www.cnblogs.com/yangyangthss/p/7091951.html