() 中的属性错误回溯(最近一次调用 <ipython-input-17-fd3d890ad0ef> <module>)



我已经在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将移回主存储库(详细信息(。

最新更新