一、OpenCV概述
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库。OpenCV库拥有超过 2500 种优化算法,其中包括一整套经典和最先进的计算机视觉和机器学习算法。
这些算法可用于检测和识别人脸、识别对象、对视频中的人类行为进行分类、跟踪摄像机运动、跟踪移动对象、提取对象的 3D 模型、从立体摄像机生成 3D 点云、将图像拼接在一起以产生高分辨率整个场景的图像,从图像数据库中查找相似图像,从使用闪光灯拍摄的图像中去除红眼,跟随眼球运动,识别风景并建立标记以将其与增强现实叠加等。
OpenCV主要分几个大模块:(1)核心功能,主要是Mat容器以及基本操作等。(2)图像处理模块。(3)GUI和视频处理等模块。(4)相机校准和 3D 重建(5)2D 特征框架(feature2d 模块) - 特征检测器、描述符和匹配框架(6)Deep Neural Networks (dnn module) - 使用内置dnn模块推断神经网络(7)Graph API(gapi 模块) - 基于图形的计算机视觉算法构建方法(8)其它(ml、objdetect、photo、stitching、video)(9)OpenCV iOS - 在 iDevice 上运行 OpenCV(10)GPU 加速计算机视觉(cuda 模块) - 利用显卡的能力运行 CV 算法。