OpenCV 在 Windows 上安装 opencv_contrib

OpenCV install opencv_contrib on Windows

我正在使用 OpenCV 3.1.0Python 2.7.11Windows 10. 我想将额外的模块 (opencv_contrib) 构建到 OpenCV 中。

我按照这个步骤GitHub

$ cd <opencv_build_directory>
$ cmake -DOPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules <opencv_source_directory>
$ make -j5

当我键入 cmake _DOPENCV_EXTRA_MODULES_PATH=C:\opencv_contrib\opencv_contrib/modules C:\opencv\sources 时,出现 错误

我正在寻求帮助,我该如何解决它。谢谢。

您似乎没有安装或找不到编译器。

我已成功使用本指南:

http://docs.opencv.org/3.0-rc1/d5/de5/tutorial_py_setup_in_windows.html

不过需要用Visual Studio12 2013,其他版本不行

Update 29-5-2017: This also works with OpenCV 3.2.0-dev. Now using Visual Studio 2015 or 2017 gives no errors.

cv2.pyd 现在自动移动到站点包。您只需要复制 DLL。

As mentioned by in the comments section, this method still works for OpenCV 4.1.2, but you need to check OPENCV_ENABLE_NONFREE parameter as well.

我已经制作了一个教程,介绍如何从头开始编译和构建您自己的 OpenCV 3.1.0-dev。它简单而有条理,非常适合我。如果您有时间重新编译 OpenCV,请查看 tutorial.

要遵循的步骤是:

  1. 安装 Visual Studio 2013
  2. 安装CMake
  3. github
  4. 下载 opencv 和 opencv_contrib
  5. 创建目录opencv-3.1.0-dev,并在该目录中创建另外两个目录,一个名为build,另一个名为sourcespaths 将是 opencv-3.1.0-dev\buildopencv-3.1.0-dev\sources
  6. 解压opencv-master.zipopencv_contrib-master.zip
  7. 在第 4 步创建的源目录中,粘贴 opencvopencv_contrib 目录
  8. 打开 CMake 并提供两个路径,一个用于构建目录,另一个用于源目录

  1. 配置,会出现很多红色高亮的行

  1. 在这些行出现之前,您必须指定您的编译器。 (另外 select 根据您的需要更正位版本,同样的过程适用于 32 位和 64 位)

  1. 选择你想要构建的任何东西,但最重要的是提供非自由模块的路径。

  1. 再次按配置,新行将以红色突出显示。
  2. 确保在按下生成之前取消选中 BUILD_opencv_contrib_world。

  1. CMake 的最后一步是按生成
  2. 在继续之前确保generating is done

  1. 打开空的构建,你会发现一堆文件。最重要的文件是 OpenCV.sln。右键单击此 .sln 文件并使用 CMake 中使用的 visual studio 2013 打开它。

请耐心等待,因为这一步会花费很多时间。

  1. 按照下图中的顺序构建3个文件。将模式更改为 Release。这些步骤大约需要 10 到 15 分钟。

  1. 复制所有 .dll 文件 [存在于 opencv-3.1.0-dev\build\bin\Release] 和 cv2.pyd 并将它们粘贴到 Pyhton27\Lib\site-packagessite-packages 目录中。
  2. 验证构建打开 Python 并执行 import cv2。如果没有错误,执行cv2.__version__,你应该得到3.1.0-dev.

如有不明之处,请观看本回答开头提供的教程。

对于 Python 3.6/3.5,您可以使用 *.whl(Python on Wheels)模块 from here:

pip install opencv_python-3.2.0+contrib-cp36-cp36m-win_amd64.whl

对于Python2.7,一个模块中没有opencv+contrib,但是可以单独安装没有contrib的opencv模块from here at the end of the page,然后添加opencv-contrib-python模块:

pip install opencv_python-3.2.0.7-cp27-cp27m-win_amd64.whl
pip install opencv-contrib-python

不要混用 opencv+contrib opencv-python (3.2.0+contrib)opencv-contrib-python (3.2.0.7) 模块,否则你的“import cv2”将停止工作,直到你删除 opencv-contrib-python 模块。

foo bar 的答案是将 opencv_contrib 添加到 python 的最佳简单方法。但是 opencv_python-3.2.0.7-cp27-cp27m-win_amd64.whl 仅适用于 AMD 芯片。如果您 运行 它在 Intel 芯片上,您将收到如下错误消息:"XXX is not a supported wheel on this platform"。在这种情况下,您必须使用 opencv_python-3.2.0.7-cp27-cp27m-win32.whl.

无需复杂的东西,只需卸载您拥有的 opencv 版本并执行以下操作:

pip install opencv-contrib-python

祝你好运, 琥珀色