SIFT(尺度不变特征变换)
关于一些角点检测技术,比如 Harris 等。它们具有旋转不变特性,即使图片发生了旋转,我们也能找到同样的角点,但如果进行图像缩放,如图,原来的角点就不在是角点了,所以在 2004 年,D.Lowe 提出了一个新的算法:尺度不变特征变换(SIFT) ,这个算法可以帮助我们提取图像中的关键点并计算它们的描述符。
import cv2
import numpy as np
img = cv2.imread('H:/python workplays/cv aaa/6.png')
gray= cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
sift = cv2.xfeatures2d.SIFT_create()
kp = sift.detect(gray,None)
img=cv2.drawKeypoints(gray,kp,img,flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
cv2.imwrite('sift_keypoints.jpg',img)