使用OPENCV自帶的sift提取特徵

2021-07-24 03:06:00 字數 1043 閱讀 8203

原文:

最近在使用opencv中自帶的sift特徵提取器,學藝不精導致很簡單的東西搞了好幾天沒出來,今天解決了特意紀錄下;

// opencv_empty_proj.cpp : 定義控制台應用程式的入口點。  

//  

#include "stdafx.h"  

#include #include #include#include#include#include using namespace std;  

using namespace cv;  

int _tmain(int argc, _tchar* argv)  

//顯示影象  

imshow("image before", img);  

//sift特徵檢測  

siftfeaturedetector siftdtc;  

vectorkp;  

siftdtc.detect(img, kp);//到這裡其實只是提取到了特徵點的具體位置和角度,其儲存在kp中  

mat outimg;  

drawkeypoints(img, kp, outimg);  

imshow("image keypoints", outimg);//之前看別的人部落格,到這就可以看到特徵點畫在圖上了,一直以為那些點就是自己要用的那個,其實真正要用的在下邊  

siftdescriptorextractor extractor;//特徵提取器  

mat descriptor; //這個描述符才是做實驗要用的特徵  

extractor.compute(img, kp, descriptor);  

ofstream file("./img.feature");//提取到的特徵儲存在這個檔案中,128維,整數做實驗以後再歸一化一下  

file << endl << descriptor << endl;  

//此函式等待按鍵,按鍵盤任意鍵就返回  

waitkey();  

return 0;  

}

使用OPENCV自帶的sift提取特徵

最近在使用opencv中自帶的sift特徵提取器,學藝不精導致很簡單的東西搞了好幾天沒出來,今天解決了特意紀錄下 opencv empty proj.cpp 定義控制台應用程式的入口點。include stdafx.h include include include include include ...

opencv2 4 sift演算法的使用

與opencv2.3.1版本的sift演算法的程式設計方法有所不同,貌似opencv2.4版本之後將sift surf演算法移到了nonfree區。所以,需要包換的標頭檔案 include include opencv nonfree249d.lib和opencv features2d249d.li...

sift的opencv簡易實現

實驗室的mac下xcode scale invariant feature transform sift 特點 穩定 獨特 多量 高速 可擴充套件 步驟 1.多尺度空間極點檢測 2.關鍵點 keypoints 定位 3.關鍵點的方向確定 4.描述子生成 細節 高斯卷積為多尺度空間唯一線性核 l x,...