我已经在colab上应用了SIFT,通过使用以下代码获取旧的Opencv库来获得特征检测和描述:
!pip install opencv-python==3.4.2.16
!pip install opencv-contrib-python==3.4.2.16
import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt
img1 = cv.imread(path+ 'Gibraltar1.jpg') # queryImage
img2 = cv.imread(path+ 'Gibraltar1.90.jpg') # trainImage
# Initiate SIFT detector
sift = cv.SIFT_create()
然而,在使用SIFT之前,我已经尝试过运行这些代码,它显示了以下错误消息:
AttributeError Traceback (most recent call last)
<ipython-input-8-fd3d890ad0ef> in <module>()
1 # Initiate SIFT detector
----> 2 sift = cv.SIFT_create()
AttributeError: module 'cv2.cv2' has no attribute 'SIFT_create'
SIFT在xfeatures2d
模块中,可以使用进行实例化
import cv2
sift = cv2.xfeatures2d.SIFT_create(...)
有关移动的更多详细信息,请参阅此参考资料。
注意:这适用于3.x和4.5.x之间的OpenCV版本,但可能不适用于较新版本——SIFT将移回主存储库(详细信息(。