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

来源:互联网 发布:淘宝售后服务时间 编辑:程序博客网 时间:2024/06/01 14:28
import cv2import numpy as npimg = 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:该点直径的大小

原创粉丝点击