python - 使用 contrib 模块安装 openCV

标签 python opencv pip sift opencv-contrib

我正在运行带有 opencv3.3.1 的 python3.6(32 位)。

我看到了这个教程,所以我尝试用 SIFT 描述符进行暴力匹配:http://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_feature2d/py_matcher/py_matcher.html

我读到包括 SIFT 在内的某些模块不再包含在默认安装中,需要单独安装。我在官方 python 网站上找到了带有 contrib 模块(我假设包含 SIFT)的 opencv3 下载。具体来说,我从这里下载了 opencv_contrib_python-3.3.0.10-cp36-cp36m-win32.whl (md5):https://pypi.python.org/pypi/opencv-contrib-python#downloads

我已经卸载了以前的 opencv,安装并导入了这个新版本的 opencv,并验证我正在运行新版本。

但是,当我尝试使用 cv2.SIFT() 时,我仍然收到模块 cv2.cv2 没有属性“SIFT”的错误。

我是否下载了正确的包?包括 SIFT 在内的所有 opencv 模块都应该包含在我安装的包中吗?

最佳答案

要启用 opencv-contrib 模块,您必须从源代码重建 opencv 库。在 CMake 配置中,您必须启用它,指定变量 OPENCV_EXTRA_MODULES_PATH 以及您拥有 opencv_contrib 模块的路径,例如 ...wherever_you_downloaded_it/opencv_contrib/opencv_contrib-master/modules。

然后,使用 make 构建 opencv 将构建模块,而 make install 将这些库与其他 opencv 库一起安装。

关于python - 使用 contrib 模块安装 openCV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47118488/

相关文章:

python - python 2019.03 : activate break in win10 git-bash

java - opencv java中的 mask 图像

python - Pytest:如何确保首先调用某个固定装置

image - 如何使图像呈现出陈旧、布满灰尘、颜色褪色的外观?

python - 使用 opencv/Numpy 使用 python 在彩色图像中查找白色像素

python - 我无法使用 pip 安装 Streamlit

python - 防止 pip 安装某些依赖项

python - Matplotlib DatetimeIndex 错误 - 列中没有任何值

c++ - c++ 返回多个值

python - 如果我正在制作 pip 模块,需要上传或添加哪些文件到 git 存储库