问题:OpenCV 在 Windows 上安装 opencv_contrib

我正在使用 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时,出现错误

在此处输入图像描述

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

解答

2017 年 5 月 29 日更新:这也适用于 OpenCV 3.2.0-dev。现在使用 Visual Studio 2015 或 2017 不会出现错误

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

正如评论部分中@AleksandrUsarov所述,此方法仍然适用于 OpenCV 4.1.2,但您还需要检查OPENCV_ENABLE_NONFREE参数。

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

要遵循的步骤是:

1.安装Visual Studio 2013

2.安装CMake

3.从github下载opencv和opencv_contrib

  1. 创建一个目录opencv-3.1.0-dev,在这个目录中创建另外两个目录,一个叫build,另一个叫sourcespaths将是opencv-3.1.0-dev\buildopencv-3.1.0-dev\sources

5.解压opencv-master.zipopencv_contrib-master.zip

6.在第4步创建的sources目录中,粘贴opencvopencv_contrib目录

7.打开CMake并提供两条路径,一条为build目录,一条为sources目录

cmake

  1. configure,会出现很多以红色突出显示的行。

配置

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

编译器

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

额外模块

  1. 再次按configure,新行将以红色突出显示。

  2. 确保在按下生成之前取消选中 BUILD\opencv_contrib\world。

新

  1. CMake 的最后一步是按 generate

14.在继续之前确保generating is done

生成完成

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

sln 文件

请耐心等待,因为这一步,下一步将需要很多时间。

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

构建

17、复制所有.dll文件[present atopencv-3.1.0-dev\build\bin\Release]和cv2.pyd,粘贴到Pyhton27\Lib\site-packagessite-packages目录下。

  1. 验证构建打开 Python 并执行import cv2。如果没有错误,执行cv2.__version__,你应该得到3.1.0-dev

验证

如果有任何不清楚的地方,请观看本答案开头提供的教程。

Logo

Python社区为您提供最前沿的新闻资讯和知识内容

更多推荐