0

我按照本指南安装了 opencv(3.4.4 版)和 contrib 模块,因为我想使用 SIFT 算法。 https://www.pyimagesearch.com/2018/05/28/ubuntu-18-04-how-to-install-opencv/ 当我注意到安装后它没有按预期工作时,我删除了构建文件夹并再试一次,但这也不起作用。我是这样导入的:

import cv2 as cv 

我尝试通过以下方式使用 SIFT(在 python 3.6 中):

sift = cv.SIFT_create()
sift = cv.xfeatures2d.SIFT_create()
sift = cv.SIFT()
sift = cv.xfeatures2d.SIFT()

因为这通常会导致如下错误:属性错误:模块 cv2 没有属性“SIFT_create”(其他 3 个选项也会发生同样的事情),我认为我使用它的方式不正确,或者安装过程本身没有好好工作。

在这之后,我找到了 pip install opencv-contrib-python 并使用它。根本没有结果。

我真的很感激一些关于如何使 opencv 与 contrib 模块一起工作的提示。

4

1 回答 1

0

你可能不得不说cv2.xfeatures2d_SIFT或类似的。OpenCV 的模块不一定映射到 python 子模块。

由于 SIFT 的专利于 2019 年到期,OpenCV 将其features2dxfeatures2d(opencv_contrib repo) 移回 (main repo)。请使用最新的 3.4.x 版本或 4.x。

于 2020-12-05T19:03:43.167 回答