如何使用python检测SIFT特征点

2025-12-08 20:22:32

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特征点

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢