我在Google colab中使用cv2.xfeatures2d.SIFT_create()
,但显示错误:
OpenCV(3.4.5)/io/opencv_contrib/modules/xfeatures2d/src/sift.cpp:1207:错误:(-213:未实现功能/功能)此算法已获专利,在此配置中不包含;设置OPENCV_ENABLE_NONFREE CMake选项,然后在函数“创建”中重建库。
我使用!pip install opencv-contrib-python == 3.4.5.20安装了贡献,但仍然无法正常工作。
!pip install opencv-contrib-python==3.4.5.20
img_1= cv2.imread('pic1.JPG')
img_2=cv2.imread("pic2.JPG")
img_1=cv2.cvtColor(img_1,cv2.COLOR_RGB2GRAY)
img_2=cv2.cvtColor(img_2,cv2.COLOR_RGB2GRAY)
sift = cv2.xfeatures2d.SIFT_create()
# find the keypoints and descriptors with SIFT
kp1, des1 = sift.detectAndCompute(img_1,None)
kp2, des2 = sift.detectAndCompute(img_2,None)
答案 0 :(得分:-1)
Opencv 3.4.2以上版本不支持SIFT,需要降级:
!pip uninstall opencv-python -y
!pip install opencv-contrib-python==3.4.2.17 --force-reinstall