构建核心模块
使用 opencv_contrib 构建
详细流程
本部分提供了生成过程的更多详细信息,并介绍了替代方法和工具。有关一般安装详细信息,请参阅 OpenCV 安装概述教程,有关配置选项文档,请参阅 OpenCV 配置选项参考。
安装编译器和构建工具
- 要编译 OpenCV,您需要一个 C++ 编译器。通常是 G++/GCC 或 Clang/LLVM:
- 安装 GCC...
sudo apt 安装 -y g++
- ...或叮当:
sudo apt 安装 -y clang
- 安装 GCC...
- OpenCV 使用 CMake 构建配置工具:
sudo apt 安装 -y cmake
- CMake 可以为不同的构建系统生成脚本,例如 make、ninja:
- 安装 Make...
sudo apt 安装 -y make
- ...或忍者:
sudo apt 安装 -y 忍者构建
- 安装 Make...
- 用于获取和解压缩源的安装工具:
- wget 并解压缩...
sudo apt 安装 -y wget 解压缩
- ...或者 git:
sudo apt 安装 -y git
- wget 并解压缩...
下载源代码
有两种方法可以获取 OpenCV 源代码:
- 使用 Web 浏览器或任何下载工具 (~80-90Mb) 下载存储库的快照并解压缩...
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.x.zip解压缩 OpenCV.zipmv opencv-4.x opencv
- ...或使用 git 将存储库克隆到本地计算机以获取完整的更改历史记录 (>470Mb):
git clone https://github.com/opencv/opencv.gitgit -C opencv 签出 4.x
注意
其他分支、版本或提交的快照可以在 GitHub 和官方下载页面上找到。
配置和构建
- 创建构建目录:
mkdir -p 构建 && cd 构建
- 配置 - 为首选构建系统生成构建脚本:
- 对于制作...
cmake ../opencv
- ...或者对于忍者:
cmake -GNinja ../opencv
- 对于制作...
- 构建 - 运行实际的编译过程:
- 使用 make...
制作 -j4
- ...或者忍者:
忍者
- 使用 make...
注意
配置过程可以从 Internet 下载一些文件以满足库依赖关系,连接失败可能会导致某些模块或功能被关闭或行为不同。有关详细信息,请参阅 OpenCV 安装概述和 OpenCV 配置选项参考教程,以及完整的配置选项参考。
如果在生成过程中遇到问题,请尝试清理或重新创建生成目录。配置中的更改(例如禁用依赖项、修改构建脚本或将源代码切换到另一个分支)处理得不好,并可能导致工作区损坏。
Make 可以并行运行多个编译进程,option 表示“同时运行 <NUM> 作业”。Ninja 将自动检测可用处理器内核的数量,并且不需要选项。-j<NUM>
-j
检查生成结果
成功构建后,您将在目录中找到库,并在目录中找到可执行文件(测试、示例、应用程序):build/lib
build/bin
CMake 包文件将位于构建根目录中:
安装
警告
安装过程仅将文件复制到预定义的位置,并执行少量修补。使用此方法进行安装不会将 opencv 集成到系统包注册表中,因此,例如,opencv 无法自动卸载。我们不建议普通用户进行系统范围的安装,因为可能与系统软件包发生冲突。
默认情况下,OpenCV 将安装到该目录中,所有文件将被复制到以下位置:/usr/local
/usr/local/bin
- 可执行文件/usr/local/lib
- 库 (.so)/usr/local/cmake/opencv4
- CMake 包/usr/local/include/opencv4
-头/usr/local/share/opencv4
- 其他文件(例如XML格式的训练级联)
由于由 root 用户拥有,因此应使用提升的权限 ():/usr/local
sudo
或
安装根目录可以通过配置参数进行更改,例如 安装到当前用户的本地目录。可以使用参数更改安装布局。
在线教程
- 麻省理工学院人工智能视频教程 – 麻省理工人工智能课程
- 人工智能入门 – 人工智能基础学习。Peter Norvig举办的课程
- EdX 人工智能 – 此课程讲授人工智能计算机系统设计的基本概念和技术。
- 人工智能中的计划 – 计划是人工智能系统的基础部分之一。在这个课程中,你将会学习到让机器人执行一系列动作所需要的基本算法。
- 机器人人工智能 – 这个课程将会教授你实现人工智能的基本方法,包括:概率推算,计划和搜索,本地化,跟踪和控制,全部都是围绕有关机器人设计。
- 机器学习 – 有指导和无指导情况下的基本机器学习算法
- 机器学习中的神经网络 – 智能神经网络上的算法和实践经验
- 斯坦福统计学习
有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
人工智能书籍
- OpenCV(中文版).(布拉德斯基等)
- OpenCV+3计算机视觉++Python语言实现+第二版
- OpenCV3编程入门 毛星云编著
- 数字图像处理_第三版
- 人工智能:一种现代的方法
- 深度学习面试宝典
- 深度学习之PyTorch物体检测实战
- 吴恩达DeepLearning.ai中文版笔记
- 计算机视觉中的多视图几何
- PyTorch-官方推荐教程-英文版
- 《神经网络与深度学习》(邱锡鹏-20191121)
- …
第一阶段:零基础入门(3-6个月)
新手应首先通过少而精的学习,看到全景图,建立大局观。 通过完成小实验,建立信心,才能避免“从入门到放弃”的尴尬。因此,第一阶段只推荐4本最必要的书(而且这些书到了第二、三阶段也能继续用),入门以后,在后续学习中再“哪里不会补哪里”即可。
第二阶段:基础进阶(3-6个月)
熟读《机器学习算法的数学解析与Python实现》并动手实践后,你已经对机器学习有了基本的了解,不再是小白了。这时可以开始触类旁通,学习热门技术,加强实践水平。在深入学习的同时,也可以探索自己感兴趣的方向,为求职面试打好基础。
第三阶段:工作应用
这一阶段你已经不再需要引导,只需要一些推荐书目。如果你从入门时就确认了未来的工作方向,可以在第二阶段就提前阅读相关入门书籍(对应“商业落地五大方向”中的前两本),然后再“哪里不会补哪里”。
有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓