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:该点直径的大小

你可能感兴趣的:(opencv,Python-opencv)