目录
图像基础和简介
OpenCV简介
OpenCV的发展历史
OpenCV的应用
OpenCV的核心模块
图像基础和简介
人们通过肉眼所看见的世界是通过图像来呈现的,那么什么是图像呢?在计算机里面,最基本的组成单元就是像素,图像是很多像素的集合,图像是由像素整齐地排列出来的,比如一个图像是1040px×960px的大小,那么这图象就是有1040列、960行,一共有998400个像素。在学习OpenCV过程中,我们主要了解RGB图像即可。
RGB色彩空间是通过R(red)、G(Green)和B(blue),通过红色、蓝色和绿色来组成所有颜色,其中R、G和B的值分别是在0~255之间的整数,一共有2的24次方(256 * 256 * 256 = 16777216)中颜色。
图像分为两类:模拟图形和数字图像(类似于电路中数字电路和模拟电路的关系)模拟图像的值域是连续的,而数字图像的值域是离散的,在学习OpenCV的过程中,我们主要研究的是数字图像。
OpenCV简介
OpenCV的发展历史
OpenCV的全称是Open Source Computer Vision(开源计算机视觉),是由Inter公司的Gary Bradski于1999年开始开发。
OpenCV第一版发行于2000年,最初的目标是创建一个开源的计算机视觉库,用于研究、教育和商业应用。OpenCV由于C/C++语言实现,提供了Python、Java和C++等接口,第一版包括了一些基本的计算机视觉算法和数据结构,为后续的发展奠定了基础。
随着开源社区的加入,OpenCV得到了快速的发展,OpenCV的算法逐渐演化并且更进。2014年8月,OpenCV 3.0 Alpha版本在发布,使得OpenCV变得更加稳定,并且部分支持OpenCL。
OpenCV的应用
OpenCV具有广泛的应用领域,主要包括以下这些内容:
- 计算机视觉:OpenCV的核心内容,包括目标检测、图像分类、人脸识别、姿态估计等。
- 机器学习:OpenCV集成了多种机器学习算法,如支持向量机(SVM)、随机森林、朴素贝叶斯等,这些算法可以应用于图像分类和目标检测任务中。
- 工业检测:penCV集成了多种机器学习算法,如支持向量机(SVM)、随机森林、朴素贝叶斯等,这些算法可以应用于图像分类和目标检测任务中。
- 游戏开发:OpenCV还可以用于游戏开发中的虚拟现实(VR)和增强现实(AR)技术,为玩家提供更加沉浸式的体验。
OpenCV的核心模块
OpenCV有多个核心模块,包括核心函数模块、图像处理模块、视频模块、3D校准模块、2D特征模块、目标检测模块。下面介绍各个模块的内容:
- 核心函数模块:主要定义的是高维矩阵基础数据结构以及相应的处理函数。
- 图像处理模块:包括线性和非线性滤波、几何变化、颜色空间转换以及像素统计的功能。
- 视频模块:主要是对于视频进行分析的功能。
- 3D校准模快:包含多三位重建、相机校准、姿态估计、3D视觉效果、深度感知以及增强现实等功能。
- 2D特征模块:最主要的就是显著特征检测、描述等。
- 目标检测模块:主要的作用就是识别和定位图像中的特定对象。