码迷,mamicode.com
首页 > 其他好文 > 详细

opencv学习之路(33)、SIFT特征点提取

时间:2017-10-07 14:45:14      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:idt   int   width   script   定义   ace   tde   read   ima   

一、简介

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

二、OpenCV中的SIFT算法接口

 技术分享

技术分享

技术分享

#include "opencv2/opencv.hpp"
#include <opencv2/nonfree/nonfree.hpp>//SIFT
#include <vector>
#include<iostream>
using namespace std;
using namespace cv;

void main()
{     
    Mat srcImg1 = imread("E://00.jpg");
    Mat srcImg2 = imread("E://01.jpg");
    //定义SIFT特征检测类对象
    SiftFeatureDetector siftDetector;//SIFT=SiftFeatureDetector=SiftDescriptorExtractor    别名//定义KeyPoint变量
    vector<KeyPoint>keyPoints1;
    vector<KeyPoint>keyPoints2;
    //特征点检测
    siftDetector.detect(srcImg1, keyPoints1);
    siftDetector.detect(srcImg2, keyPoints2);
    //绘制特征点(关键点)
    Mat feature_pic1, feature_pic2;
    //drawKeypoints(srcImg1, keyPoints1, feature_pic1, Scalar(0, 0, 255));
    drawKeypoints(srcImg2, keyPoints2, feature_pic2, Scalar(0, 0, 255));
    drawKeypoints(srcImg1, keyPoints1, feature_pic1, Scalar::all(-1), DrawMatchesFlags::DRAW_RICH_KEYPOINTS);//颜色随机,带有方向
    //drawKeypoints(srcImg2, keyPoints2, feature_pic2, Scalar::all(-1), DrawMatchesFlags::DRAW_RICH_KEYPOINTS);
    //显示原图
    imshow("src1", srcImg1);
    imshow("src2", srcImg2);
    //显示结果
    imshow("feature1", feature_pic1);
    imshow("feature2", feature_pic2);

    waitKey(0);
}

技术分享

opencv学习之路(33)、SIFT特征点提取

标签:idt   int   width   script   定义   ace   tde   read   ima   

原文地址:http://www.cnblogs.com/little-monkey/p/7625595.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!