3.OpenCV
OpenCV是一个开源计算机视觉库,由英特尔公司资助。OpenCV由一系列C函数和少量C++类组成,可实现很多图像和计算机视觉方面的通用算法。同时,OpenCV包含的函数有500多个,包括读取与写入图像、矩阵操作和数学库等函数,可以满足图像处理的许多应用领域,如工厂产品检测、医学成像、信息安全、摄像机标定、立体视觉和机器人视觉等。
OpenCV作为一个基于C/C++语言编写的跨平台开源软件,可以在Windows、Linux、Android、和macOS上运行,同时提供了Python、Ruby、MATLAB等语言的接口。
OpenCV是模块结构,主要包含以下4个模块。
<1>核心功能模块(core),包含OpenCV基本数据结构、动态数据结构、绘图函数、数组操作相关函数、与OpenGL的互操作等内容。
<2>图像处理模块(imgproc),包含线性和非线性的图像滤波、图像的几何变换、图像转换、直方图相关、结构分析和形状描述、运动分析和对象跟踪、特征检测、目标检测等内容。
<3>2维功能模块(features2D),包含特征检测和描述、特征检测器、描述符提取器、描述符匹配器、关键点绘制函数和匹配功能绘制函数等内容。
<4>高层GUI图形用户界面模块(highgui),包含媒体的输入/输出、视频捕捉、图像和视频的编码解码、图形交互界面的接口等内容。