使用预构建的库进行安装
- 启动所选的 Web 浏览器并转到我们在 Sourceforge 上的页面。
- 选择要使用的内部版本并下载它。
- 确保您具有管理员权限。解压缩自解压存档。
-
您可以在所选路径检查安装,如下所示。
- 要完成安装,请转到设置 OpenCV 环境变量并将其添加到系统路径部分。
使用 git-bash(版本>=2.14.1)和 cmake(版本 >=3.9.1)安装
- 您必须下载 cmake(版本 >=3.9.1)并安装它。您必须在安装过程中将 cmake 添加到 PATH 变量中
- 您必须安装 git-bash (version>=2.14.1)。不要在安装过程中将 git 添加到 PATH 变量中
- 运行 git-bash。您将看到一个命令行窗口。假设你想在 c:/lib 中构建 opencv 和 opencv_contrib
- 在 git 命令行中,输入以下命令(如果文件夹不存在):
mkdir /c/库cd /c/库
- 在 c:/lib 中使用名称 installOCV.sh 保存此脚本
#!/bin/bash -emyRepo=$(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还光盘opencvgit pull --rebasecd ..fi如果 [ ! -d “$myRepo/opencv_contrib” ];然后Echo “克隆opencv_contrib”git clone https://github.com/opencv/opencv_contrib.git还光盘opencv_contribgit pull --rebasecd ..fi存储库 = opencvmkdir -p build_opencv推build_opencvCMAKE_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)设置 -xcmake “${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 调试啪CMAKE_GENERATOR_OPTIONS=-G“Visual Studio 14 2015 Win64”-DCMAKE_INSTALL_PREFIX=“$myRepo/安装/$RepoSource”CMAKE_OPTIONS=(-DBUILD_PERF_TESTS:BOOL=OFF -DBUILD_TESTS:BOOL=OFF -DBUILD_DOCS:BOOL=OFF -DBUILD_EXAMPLES:BOOL=OFF)
- 在 git 命令行中,输入以下命令:
./installOCV.sh
- 喝一两杯咖啡......opencv 已准备就绪:仅此而已!
- 下次运行此脚本时,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 文档的工具。
现在,我们将介绍完整构建(使用上述所有框架、工具和库)要遵循的步骤。如果您不需要对其中一些的支持,则可以自由地跳过此部分。
构建库
- 确保您有一个具有有效编译器的工作 IDE。如果是Microsoft Visual Studio,只需安装它并确保它启动。
- 安装 CMake。只需按照向导操作,无需将其添加到路径中。默认安装选项为 OK。
- 从其官方网站下载并安装最新版本的 msysgit。还有便携版本,您只需解压缩即可访问 Git 的控制台版本。假设对于我们中的一些人来说,这可能就足够了。
- 安装 TortoiseGit。根据您使用的操作系统类型选择 32 位或 64 位版本。安装时,找到您的 msysgit(如果它没有自动执行此操作)。按照向导操作 - 默认选项在大多数情况下是可以的。
- 在文件系统中选择一个目录,将 OpenCV 库下载到该目录。我建议创建一个具有短路径且没有特殊字符的新路径,例如 .在本教程中,我建议您这样做。如果你使用自己的道路并知道你在做什么——没关系。
D:/OpenCV
- 将存储库克隆到所选目录。单击“克隆”按钮后,将出现一个窗口,您可以在其中选择要下载源文件 (GitHub - opencv/opencv: Open Source Computer Vision Library) 的存储库以及下载到哪个目录 ()。
D:/OpenCV
- 按下 OK 按钮并耐心等待,因为存储库的下载量相当大。这将需要一些时间,具体取决于您的 Internet 连接。
- 将存储库克隆到所选目录。单击“克隆”按钮后,将出现一个窗口,您可以在其中选择要下载源文件 (GitHub - opencv/opencv: Open Source Computer Vision Library) 的存储库以及下载到哪个目录 ()。
- 在本节中,我将介绍如何安装第三方库。
- 下载 Python 库并使用默认选项进行安装。您将需要其他几个 python 扩展。幸运的是,所有这些的安装都可以通过一个名为 Setuptools 的好工具自动完成。下载并重新安装。
- 安装 Numpy 的最简单方法是从 sourceforge 页面下载其二进制文件。确保您下载并安装的二进制文件完全适用于您的 python 版本(因此对于版本 )。
2.7
-
对于英特尔线程构建模块 (TBB),请下载源文件并将其解压缩到系统上的目录中。例如,让有 .对于安装英特尔集成性能基元 (IPP),情况是一样的。为了提取档案,我建议使用 7-Zip 应用程序。
D:/OpenCV/dep
- 对于 Eigen 库,它又是下载并提取到目录的情况。
D:/OpenCV/dep
- 与上述 OpenEXR 相同。
- 对于OpenNI框架,您需要安装开发版本和PrimeSensor模块。
- 对于 CUDA,您还需要两个模块:最新的 CUDA 工具包和 CUDA 工具 SDK。根据您的操作系统使用 32 位或 64 位设置下载并安装带有完整选项的它们。
-
对于Qt框架,您需要自己构建二进制文件(除非您使用带有32位编译器的Microsoft Visual Studio 2008)。为此,请转到Qt下载页面。下载源文件(不是安装程序!!):
将其解压缩到一个漂亮且简短的命名目录中,例如 .然后你需要构建它。使用“开始”菜单搜索启动 Visual Studio 命令提示符 (2010)(或浏览“开始”菜单“所有程序”> Microsoft Visual Studio 2010“>”Visual Studio 工具“>”Visual Studio 命令提示符 (2010)“)。
D:/OpenCV/dep/qt/
现在导航到提取的文件夹,然后使用此控制台窗口进入其中。您应该有一个包含 Install、Make 等文件的文件夹。使用 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 中。
-
现在启动 CMake (cmake-gui)。您可以再次在开始菜单搜索中输入它,也可以从所有程序 –> CMake 2.8 –> CMake (cmake-gui) 中获取它。首先,选择 OpenCV 库 (1) 的源文件的目录。然后,指定一个目录,您将在其中构建 OpenCV 的二进制文件 (2)。
按“配置”按钮指定要使用的编译器(和 IDE)。请注意,您可以在不同的编译器之间进行选择以创建 64 位或 32 位库。选择您在应用程序开发中使用的那个。
CMake 将启动,并根据您的系统变量尝试自动定位尽可能多的包。您可以在 WITH –> WITH_X 菜单点(其中 X 是包缩写)中修改要用于生成的包。以下是您可以打开或关闭的当前软件包列表:
选择要使用的所有包,然后再次按“配置”按钮。为了更轻松地概述生成选项,请确保二进制目录选择下的“分组”选项处于打开状态。对于某些包,CMake 可能无法找到所有必需的文件或目录。在这种情况下,CMake 将在其输出窗口(位于 GUI 底部)中抛出错误,并将其字段值设置为未找到常量。例如:
对于这些,您需要手动设置查询的目录或文件路径。在此之后,再次按下“配置”按钮,查看您输入的值是否被接受。执行此操作,直到所有条目都正确,并且您在 GUI 的字段/值或输出部分看不到错误。现在我想强调一个你一定会喜欢的选项:ENABLE –> ENABLE_SOLUTION_FOLDERS。OpenCV 将创建多个项目,转动此选项将确保它们被归类在解决方案资源管理器的目录中。如果你问我,这是一个必须具备的功能。
此外,您需要选择要构建的 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 上的下拉菜单,在为其中一个生成后更改为另一个。
最后,您可以观察到 bin 目录下构建的二进制文件:
对于文档,您需要在 HTML 文档的 doxygen 项目上显式发出 build 命令。它会召唤 Doxygen 来完成所有艰苦的工作。您可以在 .
build/doc/doxygen/html
若要将头文件和二进制文件(将在自己的项目期间使用)收集到单独的目录中(类似于预构建二进制文件的交付方式),需要显式生成 Install 项目。
这将在 Build one 中创建一个 Install 目录,将所有构建的二进制文件收集到一个位置。只有在生成 Release 和 Debug 版本后,才使用此选项。
要测试您的构建,只需进入 or 目录并启动几个应用程序,例如轮廓 .exe。如果他们跑了,你就完成了。否则,肯定出了什么大问题。在这种情况下,您应该在我们的问答论坛上与我们联系。如果一切正常,轮廓.exe输出应类似于下图(如果在Qt支持下构建):
Build/bin/Debug
Build/bin/Release
注意
如果您使用 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 并添加以下新条目(在应用程序中单击鼠标右键以显示菜单):
将其保存到注册表中,您就完成了。如果您更改了构建目录的位置,或者想要使用不同的构建来试用您的应用程序,您需要做的就是通过命令窗口中的 setx 命令更新 OPENCV_DIR 变量。
在线教程
- 麻省理工学院人工智能视频教程 – 麻省理工人工智能课程
- 人工智能入门 – 人工智能基础学习。Peter Norvig举办的课程
- EdX 人工智能 – 此课程讲授人工智能计算机系统设计的基本概念和技术。
- 人工智能中的计划 – 计划是人工智能系统的基础部分之一。在这个课程中,你将会学习到让机器人执行一系列动作所需要的基本算法。
- 机器人人工智能 – 这个课程将会教授你实现人工智能的基本方法,包括:概率推算,计划和搜索,本地化,跟踪和控制,全部都是围绕有关机器人设计。
- 机器学习 – 有指导和无指导情况下的基本机器学习算法
- 机器学习中的神经网络 – 智能神经网络上的算法和实践经验
- 斯坦福统计学习
有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
人工智能书籍
- OpenCV(中文版).(布拉德斯基等)
- OpenCV+3计算机视觉++Python语言实现+第二版
- OpenCV3编程入门 毛星云编著
- 数字图像处理_第三版
- 人工智能:一种现代的方法
- 深度学习面试宝典
- 深度学习之PyTorch物体检测实战
- 吴恩达DeepLearning.ai中文版笔记
- 计算机视觉中的多视图几何
- PyTorch-官方推荐教程-英文版
- 《神经网络与深度学习》(邱锡鹏-20191121)
- …
第一阶段:零基础入门(3-6个月)
新手应首先通过少而精的学习,看到全景图,建立大局观。 通过完成小实验,建立信心,才能避免“从入门到放弃”的尴尬。因此,第一阶段只推荐4本最必要的书(而且这些书到了第二、三阶段也能继续用),入门以后,在后续学习中再“哪里不会补哪里”即可。
第二阶段:基础进阶(3-6个月)
熟读《机器学习算法的数学解析与Python实现》并动手实践后,你已经对机器学习有了基本的了解,不再是小白了。这时可以开始触类旁通,学习热门技术,加强实践水平。在深入学习的同时,也可以探索自己感兴趣的方向,为求职面试打好基础。
第三阶段:工作应用
这一阶段你已经不再需要引导,只需要一些推荐书目。如果你从入门时就确认了未来的工作方向,可以在第二阶段就提前阅读相关入门书籍(对应“商业落地五大方向”中的前两本),然后再“哪里不会补哪里”。
有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓