我按照本指南安装了opencv (版本3.4.4)和contrib模块,因为我想使用SIFT算法。https://www.pyimagesearch.com/2018/05/28/ubuntu-18-04-how-to-install-opencv/当我注意到它在安装后没有像预期的那样工作时,我删除了build文件夹并再次尝试,但这也不起作用。我是这样导入的:
import cv2 as cv 我尝试通过以下方式使用SIFT (在python 3.6中):
sift = cv.SIFT_create()
sift = cv.xfeatures2d.SIFT_create()
sift = cv.SIFT()
sift = cv.xfeatures2d.SIFT()由于这通常会导致如下错误: Attribute Error: module cv2没有属性'SIFT_create‘(其他3个选项也会发生同样的事情),我认为我要么是以错误的方式使用它,要么是安装过程本身没有正常工作。
之后,我找到了pip install opencv-contrib-python并使用了它。没有任何结果。
我真的很感激一些关于如何使用contrib模块使opencv工作的提示。
发布于 2020-12-06 03:03:43
你可能不得不说cv2.xfeatures2d_SIFT或类似的。OpenCV的模块不一定要映射到Python子模块。
由于SIFT的专利于2019年到期,OpenCV将其从xfeatures2d (opencv_contrib repo)移回features2d (main repo)。请使用最新的3.4.x版本或4.x。
https://stackoverflow.com/questions/65157318
复制相似问题