在 Windows 中安装OpenCV

使用预构建的库进行安装

  1. 启动所选的 Web 浏览器并转到我们在 Sourceforge 上的页面
  2. 选择要使用的内部版本并下载它。
  3. 确保您具有管理员权限。解压缩自解压存档。
  4. 您可以在所选路径检查安装,如下所示。

    OpenCV_Install_Directory.png

  5. 要完成安装,请转到设置 OpenCV 环境变量并将其添加到系统路径部分。

使用 git-bash(版本>=2.14.1)和 cmake(版本 >=3.9.1)安装

  1. 您必须下载 cmake(版本 >=3.9.1)并安装它。您必须在安装过程中将 cmake 添加到 PATH 变量中
  2. 您必须安装 git-bash (version>=2.14.1)。不要在安装过程中将 git 添加到 PATH 变量中
  3. 运行 git-bash。您将看到一个命令行窗口。假设你想在 c:/lib 中构建 opencv 和 opencv_contrib
  4. 在 git 命令行中,输入以下命令(如果文件夹不存在):
    mkdir /c/库
    cd /c/库
  5. 在 c:/lib 中使用名称 installOCV.sh 保存此脚本
    #!/bin/bash -e
    myRepo=$(pwd)
    CMAKE_GENERATOR_OPTIONS=-G“Visual Studio 16 2019”
    #CMAKE_GENERATOR_OPTIONS=-G“Visual Studio 15 2017 Win64”
    #CMAKE_GENERATOR_OPTIONS=(-G“Visual Studio 16 2019” -A x64) # CMake 3.14+ 是必需的
    如果 [ ! -d “$myRepo/opencv” ];然后
    echo “克隆 opencv”
    git clone https://github.com/opencv/opencv.git
    光盘opencv
    git pull --rebase
    cd ..
    fi
    如果 [ ! -d “$myRepo/opencv_contrib” ];然后
    Echo “克隆opencv_contrib”
    git clone https://github.com/opencv/opencv_contrib.git
    光盘opencv_contrib
    git pull --rebase
    cd ..
    fi
    存储库 = opencv
    mkdir -p build_opencv
    推build_opencv
    CMAKE_OPTIONS=(-DBUILD_PERF_TESTS:BOOL=OFF -DBUILD_TESTS:BOOL=OFF -DBUILD_DOCS:BOOL=OFF -DWITH_CUDA:BOOL=OFF -DBUILD_EXAMPLES:BOOL=OFF -DINSTALL_CREATE_DISTRIB=ON)
    设置 -x
    cmake “${CMAKE_GENERATOR_OPTIONS[@]}”: “${CMAKE_OPTIONS[@]}”, -DOPENCV_EXTRA_MODULES_PATH=“$myRepo”/opencv_contrib/modules -DCMAKE_INSTALL_PREFIX=“$myRepo/install/$RepoSource”, “$myRepo/$RepoSource”
    echo “************************* $Source_DIR -->调试”
    cmake --构建。--config 调试
    echo “************************* $Source_DIR -->发布”
    cmake --构建。--config 发布
    cmake --构建。--target install --config 发布
    cmake --构建。--target install --config 调试
    在此脚本中,我假设您使用 2015 位的 VS 64
    CMAKE_GENERATOR_OPTIONS=-G“Visual Studio 14 2015 Win64”
    opencv 将安装在 c:/lib/install/opencv 中
    -DCMAKE_INSTALL_PREFIX=“$myRepo/安装/$RepoSource”
    没有 Perf 测试,没有测试,没有文档,没有 CUDA 也没有示例
    CMAKE_OPTIONS=(-DBUILD_PERF_TESTS:BOOL=OFF -DBUILD_TESTS:BOOL=OFF -DBUILD_DOCS:BOOL=OFF -DBUILD_EXAMPLES:BOOL=OFF)
  6. 在 git 命令行中,输入以下命令:
    ./installOCV.sh
  7. 喝一两杯咖啡......opencv 已准备就绪:仅此而已!
  8. 下次运行此脚本时,opencv 和 opencv_contrib 将更新并重新生成

通过从源文件创建自己的库进行安装

如果您正在构建自己的库,则可以从我们的 Git 存储库中获取源文件。

从头开始构建 OpenCV 库需要事先安装几个工具:

  • 选择的 IDE(最好),或者只是一个实际生成二进制文件的 CC++ 编译器。在这里,我们将使用 Microsoft Visual Studio。但是,您可以使用具有有效 CC++ 编译器的任何其他 IDE。
  • CMake,这是一个简洁的工具,用于从 OpenCV 源文件创建项目文件(对于您选择的 IDE)。它还允许轻松配置 OpenCV 构建文件,以便制作完全适合您需求的二进制文件。
  • Git 获取 OpenCV 源文件。一个很好的工具是 TortoiseGit。或者,您可以从我们在 Sourceforge 上的页面下载源文件的存档版本

OpenCV 可能有多种风格。有一个“核心”部分可以独立工作。尽管如此,还是有一些工具,由第三方制作的库,它们提供的服务是OpenCV可以利用的。这些将在许多方面提高其能力。为了使用其中任何一个,您需要在系统上下载并安装它们。

  • 构建 OpenCV 的 Python 接口需要 Python 库。现在使用版本 .如果您想构建 OpenCV 文档,这也是必须的。2.7.{x}
  • Numpy 是 Python 的科学计算包。对于 Python 接口是必需的。
  • 英特尔线程构建模块 (TBB) 在 OpenCV 中用于并行代码片段。使用此选项将确保 OpenCV 库将利用系统 CPU 中的所有内核。
  • Intel Integrated Performance Primitives (IPP) 可用于提高 OpenCV 库的颜色转换、Haar 训练和 DFT 函数的性能。请注意,因为这不是一项免费服务。
  • OpenCV提供了一个更漂亮、更有用的图形用户界面,而不是使用Qt框架的默认用户界面。要快速了解它所提供的功能,请查看 Qt New Functions 部分下的文档 highgui 模块。需要 4.6 或更高版本的框架。
  • Eigen是线性代数的C++模板库。
  • 最新的 CUDA 工具包将允许您使用 GPU 内部的强大功能。这将大大提高某些算法(例如 HOG 描述符)的性能。让越来越多的算法在 GPU 上运行是 OpenCV 团队的不懈努力。
  • 库需要 OpenEXR 源文件才能使用这种高动态范围 (HDR) 图像文件格式。
  • OpenNI 框架 包含 了 一 组 开放 源 API, 可 通过 语音 命令 识别、 手势 和 身体 运动 跟踪 等 方法 支持 与 设备 进行 自然 交互。可以在此处找到预构建的二进制文件。OpenNI 和 OpenNI2 的源代码也可在 Github 上找到。
  • Doxygen 是一个文档生成器,是实际创建 OpenCV 文档的工具。

现在,我们将介绍完整构建(使用上述所有框架、工具和库)要遵循的步骤。如果您不需要对其中一些的支持,则可以自由地跳过此部分。

构建库

  1. 确保您有一个具有有效编译器的工作 IDE。如果是Microsoft Visual Studio,只需安装它并确保它启动。
  2. 安装 CMake。只需按照向导操作,无需将其添加到路径中。默认安装选项为 OK。
  3. 从其官方网站下载并安装最新版本的 msysgit。还有便携版本,您只需解压缩即可访问 Git 的控制台版本。假设对于我们中的一些人来说,这可能就足够了。
  4. 安装 TortoiseGit。根据您使用的操作系统类型选择 32 位或 64 位版本。安装时,找到您的 msysgit(如果它没有自动执行此操作)。按照向导操作 - 默认选项在大多数情况下是可以的。
  5. 在文件系统中选择一个目录,将 OpenCV 库下载到该目录。我建议创建一个具有短路径且没有特殊字符的新路径,例如 .在本教程中,我建议您这样做。如果你使用自己的道路并知道你在做什么——没关系。D:/OpenCV
    1. 将存储库克隆到所选目录。单击“克隆”按钮后,将出现一个窗口,您可以在其中选择要下载源文件 (GitHub - opencv/opencv: Open Source Computer Vision Library) 的存储库以及下载到哪个目录 ()。D:/OpenCV
    2. 按下 OK 按钮并耐心等待,因为存储库的下载量相当大。这将需要一些时间,具体取决于您的 Internet 连接。
  6. 在本节中,我将介绍如何安装第三方库。
    1. 下载 Python 库并使用默认选项进行安装。您将需要其他几个 python 扩展。幸运的是,所有这些的安装都可以通过一个名为 Setuptools 的好工具自动完成。下载并重新安装。
    2. 安装 Numpy 的最简单方法是从 sourceforge 页面下载其二进制文件。确保您下载并安装的二进制文件完全适用于您的 python 版本(因此对于版本 )。2.7
    3. 对于英特尔线程构建模块 (TBB),请下载源文件并将其解压缩到系统上的目录中。例如,让有 .对于安装英特尔集成性能基元 (IPP),情况是一样的。为了提取档案,我建议使用 7-Zip 应用程序。D:/OpenCV/dep

      英特尔TBB.png

    4. 对于 Eigen 库,它又是下载并提取到目录的情况。D:/OpenCV/dep
    5. 与上述 OpenEXR 相同。
    6. 对于OpenNI框架,您需要安装开发版本PrimeSensor模块
    7. 对于 CUDA,您还需要两个模块:最新的 CUDA 工具包和 CUDA 工具 SDK。根据您的操作系统使用 32 位或 64 位设置下载并安装带有完整选项的它们。
    8. 对于Qt框架,您需要自己构建二进制文件(除非您使用带有32位编译器的Microsoft Visual Studio 2008)。为此,请转到Qt下载页面。下载源文件(不是安装程序!!):

      qt下载此包.png

      将其解压缩到一个漂亮且简短的命名目录中,例如 .然后你需要构建它。使用“开始”菜单搜索启动 Visual Studio 命令提示符 (2010)(或浏览“开始”菜单“所有程序”> Microsoft Visual Studio 2010“>”Visual Studio 工具“>”Visual Studio 命令提示符 (2010)“)。D:/OpenCV/dep/qt/

      可视化工作室命令提示.jpg

      现在导航到提取的文件夹,然后使用此控制台窗口进入其中。您应该有一个包含 InstallMake 等文件的文件夹。使用 dir 命令列出当前目录中的文件。到达此目录后,输入以下命令:

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

      完成此操作大约需要 10-20 分钟。然后输入下一个命令,这将花费更长的时间(很容易花费超过一个小时):

      nmake

      在此之后,在 Windows 7 上使用以下命令设置 Qt 环境变量:

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

      此外,使用 PathEditor 将生成的二进制文件路径添加到系统路径中。在我们的例子中,这是 .D:/OpenCV/dep/qt/qt-everywhere-opensource-src-4.7.3/bin

      注意

      如果您计划进行Qt应用程序开发,此时还可以安装Qt Visual Studio插件。在此之后,您可以在不使用Qt Creator的情况下制作和构建Qt应用程序。一切都很好地集成到 Visual Studio 中。

  7. 现在启动 CMake (cmake-gui)。您可以再次在开始菜单搜索中输入它,也可以从所有程序 –> CMake 2.8 –> CMake (cmake-gui) 中获取它。首先,选择 OpenCV 库 (1) 的源文件的目录。然后,指定一个目录,您将在其中构建 OpenCV 的二进制文件 (2)。

    CMakeSelectBin.jpg

    按“配置”按钮指定要使用的编译器(和 IDE)。请注意,您可以在不同的编译器之间进行选择以创建 64 位或 32 位库。选择您在应用程序开发中使用的那个。

    CMake_Configure_Windows.jpg

    CMake 将启动,并根据您的系统变量尝试自动定位尽可能多的包。您可以在 WITH –> WITH_X 菜单点(其中 X 是包缩写)中修改要用于生成的包。以下是您可以打开或关闭的当前软件包列表:

    CMakeBuildWithWindowsGUI.jpg

    选择要使用的所有包,然后再次按“配置”按钮。为了更轻松地概述生成选项,请确保二进制目录选择下的“分组”选项处于打开状态。对于某些包,CMake 可能无法找到所有必需的文件或目录。在这种情况下,CMake 将在其输出窗口(位于 GUI 底部)中抛出错误,并将其字段值设置为未找到常量。例如:

    CMakePackageNotFoundWindows.jpg

    CMakeOutputPackageNotFound.jpg

    对于这些,您需要手动设置查询的目录或文件路径。在此之后,再次按下“配置”按钮,查看您输入的值是否被接受。执行此操作,直到所有条目都正确,并且您在 GUI 的字段/值或输出部分看不到错误。现在我想强调一个你一定会喜欢的选项:ENABLE –> ENABLE_SOLUTION_FOLDERS。OpenCV 将创建多个项目,转动此选项将确保它们被归类在解决方案资源管理器的目录中。如果你问我,这是一个必须具备的功能。

    CMakeBuildOptionsOpenCV.jpg

    此外,您需要选择要构建的 OpenCV 部分。

    • BUILD_DOCS -> 它创建了两个用于构建 OpenCV 文档的项目(将有一个单独的项目用于构建 HTML 和 PDF 文件)。请注意,这些不是与解决方案一起构建的。为此,您需要在这些项目上发出显式的构建项目命令。
    • BUILD_EXAMPLES -> OpenCV 附带了许多示例应用程序,您可以从中学习大多数库功能。这也将派上用场,可以轻松尝试 OpenCV 是否在您的计算机上完全正常运行。
    • BUILD_PACKAGE -> 在版本 2.3 之前,您可以使用它构建一个项目来构建 OpenCV 安装程序。有了这个,您可以轻松地在其他系统上安装 OpenCV 风格。对于 OpenCV 的最新源文件,它会生成一个新项目,该项目只是使用 OpenCV 源代码创建一个 zip 存档。
    • BUILD_SHARED_LIBS -> 有了这个,你可以控制构建DLL文件(打开时)或静态库文件(*.lib)。
    • BUILD_TESTS -> OpenCV 的每个模块都有一个分配给它的测试项目。构建这些测试项目也是一种很好的尝试方式,这些模块在您的系统上也按预期工作。
    • BUILD_PERF_TESTS -> 还有许多 OpenCV 函数的性能测试。如果您担心性能,请构建它们并运行。
    • BUILD_opencv_python -> 不言自明。创建二进制文件以使用 Python 语言中的 OpenCV。
    • BUILD_opencv_world -> 生成一个包含所有模块的“opencv_world”二进制文件(共享或静态库,取决于BUILD_SHARED_LIBS),而不是单独的二进制文件的集合,每个模块一个二进制文件。

    再次按下“配置”按钮,确保未报告任何错误。如果是这种情况,您可以通过按“生成”按钮来告诉 CMake 创建项目文件。进入构建目录,打开创建的OpenCV解决方案。根据您选择的上述选项的数量,解决方案可能包含相当多的项目,因此在启动时要对 IDE 持宽容态度。现在,您需要同时生成 Release 和 Debug 二进制文件。使用 IDE 上的下拉菜单,在为其中一个生成后更改为另一个。

    ChangeBuildVisualStudio.jpg

    最后,您可以观察到 bin 目录下构建的二进制文件:

    OpenCVBuildResultWindows.jpg

    对于文档,您需要在 HTML 文档的 doxygen 项目上显式发出 build 命令。它会召唤 Doxygen 来完成所有艰苦的工作。您可以在 .build/doc/doxygen/html

    若要将头文件和二进制文件(将在自己的项目期间使用)收集到单独的目录中(类似于预构建二进制文件的交付方式),需要显式生成 Install 项目。

    WindowsBuildInstall.png

    这将在 Build one 中创建一个 Install 目录,将所有构建的二进制文件收集到一个位置。只有在生成 Release 和 Debug 版本后,才使用此选项。

    要测试您的构建,只需进入 or 目录并启动几个应用程序,例如轮廓 .exe。如果他们跑了,你就完成了。否则,肯定出了什么大问题。在这种情况下,您应该在我们的问答论坛上与我们联系。如果一切正常,轮廓.exe输出应类似于下图(如果在Qt支持下构建):Build/bin/DebugBuild/bin/Release

    WindowsQtContours输出.png

注意

如果您使用 GPU 模块(CUDA 库),请确保同时升级到 GPU 的最新驱动程序。包含 nvcuda.dll 中(或找不到)无效条目的错误消息主要是由旧的视频卡驱动程序引起的。若要测试 GPU(如果已构建),请运行 performance_gpu.exe 示例应用程序。

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

首先,我们设置一个环境变量,使我们的工作更轻松。这将保存我们在项目中使用的 OpenCV 库的构建目录。启动命令窗口并输入:

setx OpenCV_DIR D:\OpenCV\build\x64\vc14(建议用于 Visual Studio 2015 - 64 位 Windows)
setx OpenCV_DIR D:\OpenCV\build\x86\vc14(建议用于 Visual Studio 2015 - 32 位 Windows)
setx OpenCV_DIR D:\OpenCV\build\x64\vc15(建议用于 Visual Studio 2017 - 64 位 Windows)
setx OpenCV_DIR D:\OpenCV\build\x86\vc15(建议用于 Visual Studio 2017 - 32 位 Windows)
setx OpenCV_DIR D:\OpenCV\build\x64\vc16(建议用于 Visual Studio 2019 - 64 位 Windows)
setx OpenCV_DIR D:\OpenCV\build\x86\vc16(建议用于 Visual Studio 2019 - 32 位 Windows)

在这里,目录是您拥有 OpenCV 二进制文件(提取构建)的地方。您可以有不同的平台(例如 x64 而不是 x86)或编译器类型,因此请替换适当的值。其中,您应该有两个名为 lib 和 bin 的文件夹。

如果你构建了静态库,那么你就完成了。否则,您需要将 bin 文件夹路径添加到系统路径中。这是因为您将以 *“动态链接 库“*(也称为 DLL)。其中存储了 OpenCV 库包含的所有算法和信息。在运行时,操作系统将仅按需加载它们。但是,要做到这一点,操作系统需要知道它们在哪里。系统 PATH 包含可在其中找到 DLL 的文件夹列表。将 OpenCV 库路径添加到此路径,如果他需要 OpenCV 二进制文件,操作系统将知道在哪里查找。否则,您需要将使用的 DLL 复制到应用程序可执行文件 (exe) 旁边,以便操作系统找到它,如果您从事许多项目,这是非常不愉快的。为此,请再次启动 PathEditor 并添加以下新条目(在应用程序中单击鼠标右键以显示菜单):

%OPENCV_DIR%\bin

路径编辑器OpenCVInsertNew.png

PathEditorOpenCVSetPath.png

将其保存到注册表中,您就完成了。如果您更改了构建目录的位置,或者想要使用不同的构建来试用您的应用程序,您需要做的就是通过命令窗口中的 setx 命令更新 OPENCV_DIR 变量。

   在线教程

有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

请添加图片描述

人工智能书籍

第一阶段:零基础入门(3-6个月)

新手应首先通过少而精的学习,看到全景图,建立大局观。 通过完成小实验,建立信心,才能避免“从入门到放弃”的尴尬。因此,第一阶段只推荐4本最必要的书(而且这些书到了第二、三阶段也能继续用),入门以后,在后续学习中再“哪里不会补哪里”即可。

第二阶段:基础进阶(3-6个月)

熟读《机器学习算法的数学解析与Python实现》并动手实践后,你已经对机器学习有了基本的了解,不再是小白了。这时可以开始触类旁通,学习热门技术,加强实践水平。在深入学习的同时,也可以探索自己感兴趣的方向,为求职面试打好基础。

第三阶段:工作应用

这一阶段你已经不再需要引导,只需要一些推荐书目。如果你从入门时就确认了未来的工作方向,可以在第二阶段就提前阅读相关入门书籍(对应“商业落地五大方向”中的前两本),然后再“哪里不会补哪里”。

 有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

在这里插入图片描述

  • 28
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值