1、首先创建一个python文件,并导入库文件
import sys
import cv2
import numpy as np
2、加载输入图像
input_file = sys.argv[1] # 亦可以 input_file = 'filename.jpg'
img = cv2.imread(input_file)

3、将图像转为灰度
img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

4、初始化SIFT检测器对象并提取关键点:
sift = cv2.xfeatures2d.SIFT_create()
keypoints = sift.detect(img_gray,None)

5、在输入图像上画出关键点,这些点并不是特征,指出了突出点的位置。
img_sift = np.copy(img)
cv2.drawKeypoints(img,keypoints,img_sift,flags = cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
6、显示输出图像
cv2.imshow('Input image',img)
cv2.imshow('SIFT features',img_sift)
cv2.waitKey()
