从零开始:数字图像处理的编程基础与应用
上QQ阅读APP看书,第一时间看更新

1.1 OpenCV简介

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库。OpenCV旨在为计算机视觉应用提供通用基础设施,并加速商业产品中机器感知技术的使用。作为伯克利软件套件(Berkeley Software Distribution,BSD)许可产品,OpenCV允许企业利用和修改其代码。该库拥有超过2500种优化算法,其中包括一套全面的经典算法,以及十分先进的计算机视觉和机器学习算法。这些算法可用于检测和识别面部,识别物体,对视频中的人体动作进行分类,追踪相机移动,追踪移动物体,提取物体的3D模型,从立体相机生成3D点云,将图像拼接在一起以产生高分辨率的整个场景图像,从图像数据库中找到相似的图像,从使用闪光灯拍摄的图像中移除红眼,追踪眼睛运动,识别风景并建立标记以用增强现实覆盖等。

OpenCV具有C++、Python、Java和MATLAB等多种语言接口,并支持Windows、Linux、Android和macOS等操作系统。OpenCV主要倾向于实时视觉应用。OpenCV本身是用C/C++编写的,具有模板化的接口,可以与标准模板库(Standard Template Library,STL)容器无缝协作。