如何使用python检测SIFT特征点

时间:2026-02-12 04:46:27

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)    

如何使用python检测SIFT特征点

3、将图像转为灰度

     img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

如何使用python检测SIFT特征点

4、初始化SIFT检测器对象并提取关键点:

     sift = cv2.xfeatures2d.SIFT_create()

     keypoints = sift.detect(img_gray,None)

如何使用python检测SIFT特征点

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()

如何使用python检测SIFT特征点

© 2026 长短途
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com