OpenCV入门 - 提取SIFT特征向量

本文介绍了如何使用OpenCV库提取SIFT特征向量,通过实例展示了提取过程,最终得到266个关键点。内容参考了OpenCV 2.4.10的官方文档。
摘要由CSDN通过智能技术生成
OpenCV入门 - 提取SIFT特征向量




    为了确保旋转不变性,会以关键点为中心,以关键点的方向建立坐标轴,不是单独考察单一的这个关键点,而是需要一个邻域。邻域中每个小格的方向代表该像素的梯度方向,长度是梯度模大小,在每个4X4的小块上计算8个方向的梯度方向直方图,统计每个方向的累加值,形成一个种子点。David G.Lowe建议对每个关键点使用4X4=16个种子点进行描述,每个种子点包含8个方向信息,所以一个关键点就会产生16X8=128维的信息,形成128维的SIFT特征向量。下面使用opencv来对一个图片求特征向量。
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/nonfree/features2d.hpp> //
#include <iostream>
using namespace cv;
using namespace std;

int main(int argc, const char *argv[]){
    const cv::Mat input = cv::imread("input.jpg", 0);// load as grayscale
    cv::Mat descriptors;
    Ptr<DescriptorExtractor> extractor = DescriptorExtractor::create("SIFT");

    cv::SiftFeatureDetector detector;
    vector<cv:
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值