opencv3的sift特徵提取方法(1)

import cv2
import numpy as np
img = cv2.imread('s2.jpg')
gray= cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

descriptor = cv2.xfeatures2d.SIFT_create()
kps = descriptor.detect(img,None)

cv2.drawKeypoints(img,kps,img,(0,0,255))
cv2.imwrite('sift_keypoints.jpg',img)

這裏的kps就是關鍵點。它所包含的信息有:
angle:角度,表示關鍵點的方向,通過Lowe大神的論文可以知道,爲了保證方向不變形,SIFT算法通過對關鍵點周圍鄰域進行梯度運算,求得該點方向。-1爲初值。

class_id:當要對圖片進行分類時,我們可以用class_id對每個特徵點進行區分,未設定時爲-1,需要靠自己設定

octave:代表是從金字塔哪一層提取的得到的數據。

pt:關鍵點點的座標

response:響應程度,代表該點強壯大小,更確切的說,是該點角點的程度。

size:該點直徑的大小

發佈了98 篇原創文章 · 獲贊 104 · 訪問量 28萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章