OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
应用领域:
1、人机互动
2、物体识别
3、图像分割
4、人脸识别
5、动作识别
6、运动跟踪
7、机器人
8、运动分析
9、机器视觉
10、结构分析
11、汽车安全驾驶
--图像处理技术应用广泛
目前, OpenCV库包含如下两部分。
OpenCV页献库:该扩展库的名称为open ev_contib,主要由社区开发和维护, 其包含的视觉应用比OpenCV主库更全面。需要注意的是, OpenCV贡献库中包含非Open cy许可的部分,并且包含受专利保护的算法。OpenCV页献库中包含了非常多的扩展模块, 举例如下。
- bio inspired:生物视觉模块
- data se fs:数据集读取模块
- dnn:深度神经网络模块
- face:人脸识别模块
- matlab:MATLAB接口模块
- estereo 双目立体匹配模块
- text:视觉文本匹配模块
- tracking:基于视觉的目标跟踪模块
- ximg pro:图像处理扩展模块
- xobj detect:增强2D目标检测模块
- xphoto:计算摄影扩展模块
OpenCV主库:即通常安装的OpenCV库, 该库是成熟稳定的, 由核心的OpenCV团队维护
OpenCV是计算机的眼睛,OpenCV提供的视觉处理算法非常丰富,并且它部分以C语言编写,加上其开源的特性,处理得当,不需要添加新的外部支持也可以完整的编译链接生成执行程序,所以很多人用它来做算法的移植,OpenCV的代码经过适当改写可以正常的运行在DSP系统和ARM嵌入式系统中,这种移植在大学中经常作为相关专业本科生毕业设计或者研究生课题的选题。