什么是OpenCV ?
OpenCV
简介
- OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉库。OpenCV是由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用。OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序。该程序库也可以使用英特尔公司的IPP进行加速处理。
- OpenCV由一系列C语言函数和C++类构成,除支持使用C/C++语言进行开发外,还支持C#、Ruby等编程语言,并提供了Python、MATLAB、Java等编程语言接口,可以在Linux、Windows、macOS、Android和IOS等系统上运行
图像处理
简介
- 图像处理一般指数字图像处理(digital image processing),通过数学函数和图像变换等手段对二维数字图像进行分析,获得图像数据潜在信息,通常包括图像压缩,增强和复原,以及匹配、描述和识别3个部分,涵盖噪声去除、分割、特征提取等处理方法和技术
数字图像的表示
- 数字图像在计算机中通常采用二维矩阵表示和存储,原始图像在水平方向和垂直方向被等间隔地分割成大小相同的小方格(grid),其中的每一个小方格称为像素点,简称为像素(pixel)。像素是构成图像的最小基本单元,图像的每一像素都具有独立的属性,其中最基本的属性包括像元位置和灰度值两个属性。位置由像素所在的行和列的坐标值决定,通常以像素的位置坐标(x,y)表示,像素的灰度值即该像素对应的光学亮度值
数字图像的类型
- 二值图像:其灰度值只有0或1,其中灰度值0代表黑色,1代表白色。因此,二值图像所对应的的二维矩阵元素也只由0、1构成
- 灰度图像:一般指具有256级灰度值的数字图像,灰度图像只有灰度值而没有彩色。因此,每个像素都是介于黑色和白色之间的256中灰度中的一种。256级灰度值图像的数据类型为8位无符号整型,灰度值0代表纯黑色,255表示纯白色,0-255之间的数字由小到大表示从纯黑到纯白之间的过渡色
- RGB彩色图像:RGB图像中每个像素由三个颜色通道组成:红(R)、绿(G)、蓝(B),它们被叫作 “加色三原色” ,混在一起可以创造其他颜色。8 位/通道的 RGB 图像中的每个通道有 256 个可能的值,这意味着该图像有 1600 万个以上可能的颜色值。有时将带有 8 位/通道 (bpc) 的 RGB 图像称作 24 位图像(8 位 x 3 通道 = 24 位数据/像素)。通常将使用24位RGB组合数据位表示的的位图称为真彩色位图
计算机视觉
简介
- 计算机视觉(computer vision)是一门研究如何让机器 “看” 的科学,即用计算机来模拟人的视觉机理,通过摄像头代替人眼对目标进行识别、跟踪和测量等,通过处理视觉数据获得更深层次的信息。例如,通过三维重建技术对环绕建筑物一周的视频进行分析,在计算机中重构出建筑物3D模型;通过放置在车辆上方的摄像头拍摄车辆前方场景,推断车辆能否顺利通过前方区域等决策信息