文档结构  
翻译进度:已翻译     翻译赏金:0 元 (?)    ¥ 我要打赏
参与翻译: CY2 (5), coyee (3)

本文介绍的安装过程在 Windows 7 SP1 下进行。此外,该安装过程对一些相当新的 Windows 系统版本也是可用的。如果你在执行这些安装步骤时候遇到任何问题,可通过 OpenCV Q&A forum 提交你的问题。

注意:

要使用 OpenCV 库,有两个选项: 使用预构建的库安装 或者 使用源码安装. 第一种方式最容易安装。但是要求是你使用最新的 Visual Studio 集成开发环境并且不能利用我们融入到该库中的最新技术。

第 1 段(可获 2 积分)

使用预构建的库安装

  1. 打开浏览器前往 OpenCV 的 Sourceforge 下载页面.

  2. 选择并下载你想使用的版本

  3. 确保你当前系统的登录账号具有管理权限,解压下载后的压缩文件

  4. 安装完后请阅读 设置 OpenCV 环境变量并添加到系统路径.

从源文件中进行安装

从源文件安装 OpenCV 你可以参考 YouTube 上的这两个视频:Part 1Part 2

第 2 段(可获 2 积分)

警告

上面的这些视频早就过时了,而且包含了一些错误的信息。因此请注意,视频里描述的解决方案不再被支持,而且可能导致你的安装失败。

如果你想要从源码构建,可以从我们的 Git 仓库 获取源码。

从头开始构建 OpenCV 库需要先安装一些工具:

  • 最好使用集成开发环境,当然也可以使用 C/C++ 编译器。这里我们用的是 Microsoft Visual Studio. 当然,你可以使用其他你熟悉的 IDE 或者 C/C++ 编译器。
  • CMake, 是一个简洁的工具用来构建 OpenCV 项目。同时它也可以对 OpenCV 的构建文件进行简单设置以满足你的需求。
  • Git 工具用来获取 OpenCV 源文件,推荐使用 TortoiseGit. 此外你也可以从 Sourceforge 下载源码压缩包。
第 3 段(可获 2 积分)

OpenCV 包含多种不同的“口味”。“core”部分可自己运行。不过有很多的工具、库以及第三方服务可以使用。这些将在很多方面提升 OpenCV 的功能。为了使用这些工具,需要下载并按照。

  • Python 库 :如果使用 OpenCV 的 Python 接口则需要安装此库,现在使用的是 2.7.x 版本。另外如果你要构建 OpenCV 文档则必须安装该库。
  • Numpy 是一个 Python 的科学计算包,OpenCV 的 Python 接口需要用到此库。
  • Intel © Threading Building Blocks (TBB) 主要是 OpenCV 内部用于并行代码片段执行。使用它可以让 OpenCV 同时使用多核处理器进行计算。
  • Intel © Integrated Performance Primitives (IPP) 用于提升色彩转换的性能。OpenCV 的 Haar 训练以及 DFT 函数需要用到。需要注意的是这不是免费的。
  • OpenCV 提供了一些更漂亮更有用的图形用户界面。默认使用的是 Qt framework. 详细的内容可以阅读  highgui 模块文档。在 Qt New Functions 部分,需要 4.6 或者更新版本的 Qt 框架。
  • Eigen 是一个 C++ 的模板库用于线性算术。
  • 最新版的 CUDA Toolkit 可以让你利用 GPU 的超强计算能力。CUDA 大幅的提升了一些算法的性能,例如 HOG 描述符。OpenCV 团队正在不断的努力让更多的功能在 GPU 上执行。
  • OpenEXR 源码文件用于处理 HDR 高动态范围图像格式。
  • OpenNI Framework 包含一组开源的 API 用于支持一些自然的交互,例如语音命令识别、手势识别以及肢体动作跟踪。
  • Miktex 是 Windows 上最好的 TEX 实现。用于构建 OpenCV 文档。
  • Sphinx 是一个 Python 的文档生成器,可自动生成 OpenCV 文档。其本身的安装需要依赖其他的工具,详情请参考 How to Install Sphinx 部分.
第 4 段(可获 2 积分)

接下来我们将描述整个框架构建和安装的详细步骤。如果你不是从源码构建请忽略这些内容。

库的构建

注意

如果你使用了 GPU 模块(CUDA 库),请确保你将这些模块升级到最新的版本。在一些老的显卡上 nvcuda.dll 会出现一些包含不可用条目的错误信息。为了测试 GPU 可以运行 performance_gpu.exe 示例程序。

  1. 确保你有一个可用的集成开发环境,包含可用的编译器。例如微软的 Visual Studio 集成开发环境。

  2. 安装 CMake. 只需要简单的遵循安装向导的提示,无需添加到 PATH 环境变量中,默认安装选项即可。

  3. 官网上下载并安装最新版本的 msysgit . 请下载便携版本,用来使用控制台版本的 Git,这就足够了。

  4. 安装 TortoiseGit. 请跟进你的操作系统来选择 32 或者 64 位版本。安装过程中需要定位 msysgit 的路径,请使用安装向导的默认选项即可。

  5. 为 OpenCV 库指定一个下载目录。建议使用一个路径较短的全新目录,目录名建议不要使用特殊字符。例如 D:/OpenCV 这样即可。

    1. 克隆仓库到指定目录,克隆地址是 (https://github.com/Itseez/opencv.git) ,克隆到目标目录 (D:/OpenCV).
    2. 点击 OK 按钮并耐心等待下载源码的过程.
  6. 在这部分我们将介绍第三方库的安装.

    注意事项

    CD 命令用来在同一个磁盘驱动器中进行目录切换。但你不能用它来切换磁盘,例如不能 cd D:/ 来从 C: 切换到 D: 盘。

    此步将按照其依赖包 Jinja2Pygments.

    现在进入解压后的文件夹,文件夹中包含了一些诸如  Install, Make 等等的文件。使用 dir 命令来列出当前目录的所有文件。输入以下命令开始配置构建环境:

    configure.exe -release -no-webkit -no-phonon -no-phonon-backend -no-script -no-scripttools
                  -no-qt3support -no-multimedia -no-ltcg
    

    要完成这项操作大约需要 10~20 分钟。然后进入下一个命令,这可能要花费更多的时间(至少超过一个小时):

    nmake
    

    执行完毕后通过命令行来设置 Qt 环境变量:

    setx -m QTDIR D:/OpenCV/dep/qt/qt-everywhere-opensource-src-4.7.3
    

    同时添加构建后的二进制文件到系统路径中,可使用 Path Editor 来完成这项工作。在我们的步骤中该路径是 D:/OpenCV/dep/qt/qt-everywhere-opensource-src-4.7.3/bin.

    注意事项

    如果你计划做 Qt 应用开发,可以安装 Qt Visual Studio Add-in. 这样你就可以在没有 Qt Creator 的情况下来编译和构建 Qt 应用。所有的东西都可以很好的集成到 Visual Studio.

    1. 下载 Python libraries 并使用默认的选项安装。此外我们还需要一堆的 Python 扩展。幸运的是我们可以很方便的通过 Setuptools 来搞定一切。下载并安装即可。

    2. 最简单的安装 Numpy 的方法是从 sourceforga page 下载二进制文件,请确保你下载的版本和你的 Python 是对应的。例如 Python 2.7。

    3. 下载 Eigen 库并解压到 D:/OpenCV/dep 目录.

    4. 同样下载 OpenEXR 并解压到 D:/OpenCV/dep 目录. 

    5. 对于 OpenNI Framework 你需要安装 development buildPrimeSensor Module.

    6. CUDA 库需要下载两个模块:最新的 CUDA Toolkit 以及 CUDA Tools SDK. 根据操作系统的版本下载并安装相应版本的文件。

第 5 段(可获 2 积分)

设置 OpenCV 环境变量并添加到系统路径

首先我们设置一些环境变量以便接下来更方便的进行操作。这些变量包含 OpenCV 的构建目录。启动一个命令行创建并执行如下脚本:

setx -m OPENCV_DIR D:\OpenCV\Build\x86\vc10     (suggested for Visual Studio 2010 - 32 bit Windows)
setx -m OPENCV_DIR D:\OpenCV\Build\x64\vc10     (suggested for Visual Studio 2010 - 64 bit Windows)

setx -m OPENCV_DIR D:\OpenCV\Build\x86\vc11     (suggested for Visual Studio 2012 - 32 bit Windows)
setx -m OPENCV_DIR D:\OpenCV\Build\x64\vc11     (suggested for Visual Studio 2012 - 64 bit Windows)
第 6 段(可获 2 积分)

这里的目录就是你的 OpenCV 二进制文件的目录。你可以使用不同平台或者编译器,只需要使用相应的值即可。在这里你有两个名为 lib 和 bin 的子目录。-m 参数可以让你的变量对系统里所有用户起作用。

如果你构建静态库的话,这样就完成了。否则你需要将 bin 目录添加到系统的路径中。这样就可以使用动态链接库版本的 OpenCV 库。所有的算法和相关信息都存储在库中,只在需要的时候加载。系统的 PATH 变量包含一组 DLL 存放的文件夹列表。系统知道如何来加载这些库。当然你也可以把 DLL 复制到你应用程序所在的目录。不过如果你有多个项目的话,这样做会不太爽。因此建议使用 Path Editor 添加如下新的条目:

第 7 段(可获 2 积分)
%OPENCV_DIR%\bin

将上述内容保存到注册表后就搞定了。如果你已经修改过构建路径或者你想要使用一个不同的构建版本,你需要使用 setx 命令来修改 OPENCV_DIR 变量。

现在可以继续阅读 How to build applications with OpenCV inside the Microsoft Visual Studio 部分。在这篇文章你可以了解到如何通过 Visual Studio 的帮助在你自己的项目中使用 OpenCV 库。

第 8 段(可获 2 积分)

文章评论