本期我们介绍 OpenCV 的背景知识以及如何安装 OpenCV 。
完成本期内容,你可以:
- 了解 OpenCV 的背景知识
- 掌握安装 OpenCV 及其拓展库
若要运行案例代码,你需要有:
-
操作系统:Ubuntu 16 以上 或者 Windows10
-
工具软件:VScode 或者其他源码编辑器
-
硬件环境:无特殊要求
-
核心库:python 3.6.13, opencv-contrib-python 3.4.11.39
OpenCV的概述
OpenCV是一个开放源代码的计算机视觉应用平台,由英特尔公司下属研发中心俄罗斯团队发起该项目,开源BSD证书,OpenCV的目标是实现实时计算机视觉,是一个跨平台的计算机视觉库。从开发之日起就得到了迅猛发展,获得了众多公司和业界大牛的鼎力支持与贡献,因为是BSD开源许可,因此可以免费应用在科研和商业应用领域。
OpenCV的体系结构如图所示:
-
CORE–核心功能模块
opencv 基本数据结构、动态数据结构、绘图函数、数组操作相关函数、辅助功能与系统函数和宏、与OpenGL的互操作。
-
imgproc–图像处理模块
线性和非线性的图像滤波、图像的几何变换、其他(Miscellaneous)图像转换、直方图相关、结构分析和形状描述、运动分析和对象跟踪、特征检测、目标检测等。
-
Object Detection—目标检测
级联分类器及SVM。
-
features2D–2维特征框架
特征检测与描述、特征检测提取匹配接口、关键点与匹配点绘图及对象分类。
-
Calib3d Stereo—摄像机标定及三维重建模块
多视角几何算法、单个立体摄像头标定、物体姿态估计、立体相似性算法、3D信息的重建等。
-
HighGUI–高层GUI图形用户界面
媒体的输入输出、视频捕捉、图像和视频的编码解码、图像交互界面的接口等内容。
-
Machine Learning—机器学习
统计模型、贝叶斯分类器、最近邻分类器、支持向量机、决策树、提升、梯度提升树、随机数、超随机数、最大期望、神经网络及机器学习数据。
-
VO—视频分析组件
运动估计、背景分离、对象跟踪等视频处理相关内容。
-
Stitching—图片拼接模块
拼接流水线、特点寻找和匹配图像、估计旋转、自动校准、图像歪斜、接缝估测、曝光补偿、图片混合。
OpenCV的优点
OpenCV的优势:
-
编程语言:OpenCV基于C++实现,同时提供python, Ruby, Matlab等语言的接口。OpenCV-Python是OpenCV的Python API,结合了OpenCV C++ API和Python语言的最佳特性。
-
跨平台:可以在不同的系统平台上使用,包括Windows,Linux,OS X,Android和iOS。基于CUDA和OpenCL的高速GPU操作接口也在积极开发中。
-
丰富的API:完善的传统计算机视觉算法,涵盖主流的机器学习算法,同时添加了对深度学习的支持。
具体步骤
OpenCV的安装以及配置
-
安装OpenCV
安装OpenCV可以直接在终端运行
pip install opencv
为了更快地进行安装配置,通常会从清华镜像中下载和安装 OpenCV-Contrib-Python。
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-contrib-python
-
OpenCV安装验证
打开终端进入python交互式编程页面,执行以下命令,没有报错,说明安装成功。