基础理论
计算机视觉(computer vision)与图像处理(image processing)之间没有明确的界限,但是通常将图像处理理解为计算机视觉的预处理过程。因此,在介绍计算机视觉之前,有必要先介绍图像处理。图像处理一般指数字图像处理{digital image processing),通过数学函数和图像变换等手段对二维数字图像进行分析,获取图像数据潜在信息,通常包括图像压缩,增强和复原,以及匹配、描述和识别3个部分,涵盖噪声去除、分割、特征提取等处理方法和技术。
opencv创建之初三大目标:
1.为基本的视觉应用提供开放且优化的源代码,以促进视觉研究的发展;
2.通过提供一个通用的构架来传播视觉知识,开发者可以在这个构架上继续开展工作;
3.不要求商业产品继续开源代码。
opencv的模块架构:
calib3d——这个模块名称是由calibration(校准)和3D两个术语的缩写组合而成的,顾名思义,这个模块主要包括相机标定与立体视觉等功能,例如物体位姿估计、三维重建、摄像机标定等。
core——核心功能模块。这个模块主要包含opencv库的基础结构以及基本操作,例如opencv基本数据结构、绘图函数、数组操作相关函数、动态数据结构等。
dnn——深度学习模块。这个是opencv4版的一个特色,其主要包括构建神经网络、加载序列化网络模型等。但是这一模块目前仅适用于正向传递计算(测试网络),原则上不支持反向计算(训练网络)。
features2d——这个模块名称是由features(特征)和2D两个术语的缩