目录
一、OpenCV介绍及各个版本的区别
1.1 OpenCV介绍
OpenCV英文全称是Open Source Computer Vision Library,它是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法(百度百科)。
OpenCV用C++语言编写,它具有C ++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac OS,OpenCV主要倾向于实时视觉应用,并在可用时利用MMX和SSE指令, 如今也提供对于C#、Ch、Ruby,GO的支持。
简单理解OpenCV就是一个库,是一个SDK,一个开发包,解压后直接用就可以。
OpenCV提出的三大目标:
- 为基本的视觉应用提供开发且优化的源代码,促进视觉研究的发展。避免“闭门造车”
- 通过提供一个通用的框架来传播视觉知识,开发者可以在这个框架上继续开展工作
- 开源,且不要求商业产品继续开放代码,促进基于视觉的商业应用的发展
1.2 OpenCV主要模块介绍
Core
- 包含OpenCV库的基础结构以及基本操作
Improc
- 图像处理模块,图像转换、滤波、卷积操作
Highgui
- HighGUI是一个可移植的图形工具包,High-level Graphics User Interface,OpenCV将与操作系统、文件系统和摄像头之类的硬件交互的函数纳入到该库中
Calib3d
- 校准相机的算法实现
ML
- 机器学习的算法实现,能与OpenCV的数据类型交互
Contrib
- OpenCV贡献库一些还没有被集成的东西(神经网络、人脸识别、深度图像处理等)
1.3 python下OpenCV的配置
python根本无需安装OpenCV,直接pip install两个包即可,这两个包是:opencv-python和opencv-contrib-python,如果遇见下载速度过慢或超时的情况,建议换个pip源,使用方式如:
pip install package -i https://pypi.