注意本教程OpenCV版本过旧。

说明

  • 本页面无手机端适配,强制缩放阅读。
  • 使用纯html格式,保存教学用ppt,添加了部分个人笔记。
  • 目录工作正常,可以跳转。

计算机视觉基础


background image

计算机视觉基础

计算机视觉基础

计算机视觉概述

计算机视觉的应用

什么是计算机视觉

计算机视觉相关学科

人眼成像原理

计算机成像原理

数字图像处理基础

灰度级与灰度图像

图像采样与分辨率

彩色图像与色彩空间

颜色空间变化

常用图像处理技术

计算机视觉的应用

什么是计算机视觉

计算机视觉与人工智能

计算机视觉概览


background image




什么是计算机视觉

• 计算机视觉在广义上是和图像相关的技术总称。包括图像的采集获取,图

像的压缩编码,图像的存储和传输,图像的合成,三维图像重建,图像增
强,图像修复,图像的分类和识别,目标的检测、跟踪、表达和描述,特
征提取,图像的显示和输出等等。

• 随着计算机视觉在各种场景的应用和发展,已有的图像技术也在不断的更

新和扩展。


background image




计算机视觉的应用

• 计算机视觉技术已经在许多领域得到了广泛的应用,以下是一些典

型的例子:

ü

公安安防:人脸识别,指纹识别,场景监控,环境建模。

ü

生物医学:染色体分析,X光、CT图像分析,显微医学操作。

ü

文字处理:文字识别,文档修复,办公自动化,垃圾邮件分类。

ü

国防军事:资源探测,军事侦察,导弹路径规划。

ü

智能交通:公路交通管理,电子警察执法抓拍系统,自动驾驶车辆。

ü

休闲娱乐:电影特效,视频编辑,人像美颜,体感游戏,VR。


background image




计算机视觉相关学科

计算机视觉是一门研究图像理论、技术和应用的交叉学科。计算机视觉不仅和传统的数学、物
理学、生理学、心理学、计算机科学、电子工程等学科相关。并且还涉及到计算机图形学、图
像模式识别、图像工程等专业技术,这几个技术名词相互关联,经常混合使用,在许多情况下
他们只是专业背景不同的人习惯使用的不同称呼术语。


background image




计算机视觉与人工智能

计算机视觉中的大部分理论运用了人工智能的技术。人工智能的发展离不开计算机视觉,计算机
视觉中的很多应用问题给人工智能技术提供了研究方向。

人工智能在计算机视觉中最成熟的技术方向是图像识别,它实现了如何让机器理解图像中的内容。

内容识别

人脸检测

数字图像处理基础


background image




人眼成像原理

• 人的眼睛近似为一个球体。物体的光线通过角膜和晶状体的折射,在视网膜上成倒

立缩小的实像。

• 视网膜上分布光线接收的神经细胞,分为锥状体和杆状体。每只眼睛有600万- 700

万个锥状体,其对颜色灵敏度很高,负责亮光视觉。有7500万- 15000万杆状体,
杆状体没有颜色感觉,负责暗视觉。


background image




计算机成像原理

• 数字图像的采集过程类似人眼,使用大量的光敏传感器构成的阵列获取图像。成像

的质量由传感器的单元数,尺寸和传感性能决定。

• 多数传感器的输出是连续的电压波形,图像数字化就是将一副画面的数据转换为计

算机能够处理的数字形式。

• 图像数字化包括两种处理过程:采样和量化。


background image




图像采样与分辨率

• 将空间上连续的图像变换成离散点的操作称为采样
• 采样是按照某种时间间隔或空间间隔,采集模拟信号的过程,即空间离散化。
• 图像数字化的采样过程是将空间上连续的图像变化为离散的点。
• 采样的效果由传感器的采样间隔和采样孔径决定,采样间隔和采样孔径的大小是两

个很重要的参数。 


background image




图像采样与分辨率(续1)

• 采样后得到离散图像的尺寸称为图像分辨率。分辨率是数字图像可辨别的最小细节。
• 分辨率由宽(width)和高(height)两个参数构成。宽表示水平方向的细节数,

高表示垂直方向的细节数。

• 例如:

ü

一副640*480分辨率的图像,表示这幅图像是由

               640*480=307200个点组成。

ü

一副1920*1080分辨率的图像,表示这幅图像是由

            1920*1080= 2073600个点组成。


background image




图像采样与分辨率(续2)

• 采样间隔越小,所得图像像素数越多,空间分辨率高,图像质量好,但数据量大。

下图展示了lena图的分辨率从512x512依次降低到8x8的图像效果。


background image




灰度级与灰度图像

• 灰度级(depth)表征了每个采样点的传感器输出中可分辨的最小变化。
• 灰度级通常是2的整数次幂。我们用m级或者n位来表示灰度级。图像数据的灰度级

越多视觉效果就越好。计算机中最常用的是8位图像。

• 例如:

ü

一副8位的图像,表示每个采样点有2^8=256级。从最暗到最亮,可以分辨256个级别。

ü

一副32级的灰度图像,每个采样点从最暗到最亮,可以分辨32个级别。


background image




灰度级与灰度图像(续1)

ü

量化等级越多,所得图像层次越丰富,灰度分辨率高,图像质量好,但数据量
大。下图展示了lena图的灰度级从256级依次降低到4级的图像效果。


background image




灰度级与灰度图像(续2)

• 单通道的数字图像被称为灰度图。通常,单通道记录了采样点的亮度信息,例如8位

的图像,0表示最暗(黑色),255表示最亮(白色)。


background image




彩色图像与色彩空间

• 为了表征彩色图像,我们需要使用多通道数字图像。最普遍的方式是使用RGB颜色空

间。RGB颜色空间中每个像素点有三个维度,分别记录在红(Red)、绿(Green)、
蓝(Blue)三原色的分量上的亮度。

(255,0,0)              纯红

(0,255,0)              纯红

(0,0,255)              纯红

(0,0,0)                  纯黑

(255,255,255)      纯白

(124,252,0)          草坪绿

(135,206,235)    天蓝色

R通道

G通道

B通道


background image




彩色图像与色彩空间(续1)

• 另一种常用的颜色空间是HSV,该颜色空间可以用

一个圆锥来表示。

• HSV表示色相(hue)、饱和度(saturation)和亮度

(value)。

• H表示颜色的相位角(hue) ,取值范围是0---360;

S表示颜色的饱和度(saturation) ,范围从0到1,
它表示成所选颜色的纯度和该颜色最大的纯度之间
的比率;

• V表示色彩的明亮程度(value) ,范围从0到1。


background image




彩色图像与色彩空间(续2)

Ø

YUV:亮度信号Y和两个色差信号R-Y、B-Y,最后发送端将亮度和色差三个信号
分别进行编码。采用YUV色彩空间的重要性是它的亮度信号Y和色度信号U、V是分
离的。如果只有Y信号分量而没有U、V分量,那么这样表示的图就是黑白灰度图。
YUV(亦称YCrCb)是被欧洲电视系统所采用的一种颜色编码方法。YUV色彩空间正是
为了用亮度信号Y解决彩色电视机与黑白电视机的兼容问题,使黑白电视机也能接收
彩色电视信号。与RGB视频信号传输相比,YUV只需占用极少的频宽。

Ø

CMYK :CMYK颜色空间应用于印刷工业,印刷业通过青(C)、品(M)、黄(Y)、黑(BK)
四色油墨的不同网点面积率的叠印来表现丰富多彩的颜色和阶调。

Ø

Lab:Lab的色彩空间要比RGB模式和CMYK模式的色彩空间大,自然界中任何一点
色都可以在Lab空间中表达出来。


background image




颜色空间变换

• 在计算机视觉中,尤其是颜色识别相关的算法设计中,各种颜色空间混合

使用是常见的方法。RGB,HSV,YUV等常见颜色空间可以通过计算公式
实现相互转化,这个过程叫做颜色空间变化。颜色变换的计算公式比较复
杂,通常图像处理库会提供颜色空间变化的API给用户调用。


background image




常用图像处理技术

• 色彩处理

ü

灰度化:将彩色图像转换为灰度图像

ü

二值化/反二值化:将灰度图像转换为只有两种颜色的图像

ü

色彩提取:提取指定的颜色

ü

直方图均衡化:调节图像统计直方图分布

ü

亮度、饱和度、色调调整


background image




常用图像处理技术(续1)

• 形态相关操作

ü

仿射变换:旋转、平移

ü

缩放、裁剪

ü

图像相加、相减

ü

透视变换

ü

图像腐蚀、膨胀、形态学梯度

图像色彩操作


background image




常用图像处理技术(续2)

• 色彩梯度

ü

模糊

ü

锐化

ü

边沿检测

• 轮廓处理

ü

轮廓查找、绘制

ü

绘制矩形、圆型、椭圆包围

ü

多边形拟合


background image

图像色彩操作

图像色彩操作

图像灰度化

计算机视觉的应用

什么是计算机视觉

二值化

反二值化

二值化与反二值化

图像直方图

如何进行图像灰度化

什么是图像灰度化

直方图均衡化

直方图均衡化

图像色彩调整

亮度调整

饱和度调整

色调调整

图像色彩调整


background image




亮度调整

• 对HSV空间的V分量进行处理可以实现对图像亮度的增强。
• 直接将彩色图像灰度化,也可以得到代表图像亮度的灰度图进行图像处理,计算量

比HSV颜色空间变化低。但在HSV空间中进行处理可以得到增强后的彩色图像。


background image




饱和度调整

• 对HSV空间的S分量进行处理可以实现对图像饱和度的增强。
• 饱和度的调整通常是在S原始值上乘以一个修正系数。
• 修正系数大于1,会增加饱和度,使图像的色彩更鲜明;
• 修正系数小于1,会减小饱和度,使图像看起来比较平淡。


background image




色调调整

• 对HSV空间的H分量进行处理可以实现对图像色调的增强。
• 色相H的值对应的是一个角度,并且在色相环上循环。所以色相的修正可能会造成

颜色的失真。

• 色相的调整通常在H原始值上加上一个小的偏移量,使其在色相环上有小角度的调

整。调整后,图像的色调会变为冷色或者暖色。

图像灰度化


background image




什么是图像灰度化

• 在RGB模型中,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫灰

度值,因此,灰度图像每个像素只需一个字节存放灰度值(又称强度值、亮度值),
灰度范围为0-255。将RGB图像转换为灰度图像的过程称为图像灰度化处理。


background image




如何进行图像灰度化

• 灰度化处理方法包括:

ü

分量法。将彩色图像中的三分量的亮度作为三个灰度图像的灰度值,可根据应用需要选取
一种灰度图像。

ü

最大值法。将彩色图像中的三分量亮度的最大值作为灰度图的灰度值。

ü

将彩色图像中的三分量亮度求平均得到一个灰度值。

ü

根据重要性及其它指标,将三个分量以不同的权值进行加权平均。例如,由于人眼对绿色
的敏感最高,对蓝色敏感最低,因此,按下式对RGB三分量进行加权平均能得到较合理的
灰度图像。如:

f ( i , j ) = 0 . 3 0 R ( i , j ) + 0 . 5 9 G ( i , j ) + 0 . 1 1 B ( i , j )

二值化与反二值化


background image




二值化

• 二值化阈值处理是将原始图像处理为仅有两个值的二值图像,对于灰度值大于阈值t

的像素点,将其灰度值设定为最大值。对于灰度值小于或等于阈值的像素点,将其
灰度值设定为0。


background image




反二值化

• 反二值化阈值处理的结果也是仅有两个值的二值图像,对于灰度值大于阈值的像素

点,将其值设定为0;对于灰度值小于或等于阈值的像素点,将其值设定为255。

直方图均衡化处理


background image




图像直方图

• 灰度直方图反映的是一幅图像中各灰度级像素出现的频率。以灰度级为横坐标,纵

坐标为灰度级的频率,绘制频率同灰度级的关系图就是灰度直方图。它是图像的一
个重要特征,反映了图像灰度分布的情况。

• 使用直方图进行图像变换是一种基于概率论的处理方法,通过改变图像的直方图,

修改图像中各像素的灰度值,达到增强图像视觉效果的目的。

• 相对于灰度变化只针对单独的像素点操作,直方图变化综合考虑了全图的灰度值分

布。


background image




图像直方图(续1)

• 下面是两幅灰度图像的直方图,直方图的形状能反映图像的视觉效果。


background image




图像直方图(续2)

• 对于彩色图像,可以对不同的通道分别统计直方图


background image




直方图均衡化

• 直方图均衡化将原始图像的直方图,即灰度概率分布图,进行调整,使之变化为均

衡分布的样式,达到灰度级均衡的效果,可以有效增强图像的整体对比度。

• 直方图均衡化能够自动的计算变化函数,通过该方法自适应得产生有均衡直方图的

输出图像。能够对图像过暗、过亮和细节不清晰的图像得到有效的增强。

• 在常用的图像处理库中,直方图操作都有API直接调用实现。


background image




直方图均衡化(续)

图像形态操作


background image

图像形态操作

图像形态操作

仿射与透视变换

什么是计算机视觉

图像加法

图像减法

图像算数计算

图像缩放

图像缩小

透视变换

仿射变换

图像缩放

图像放大

腐蚀与膨胀

腐蚀

膨胀

形态学梯度

仿射变换


background image




什么是仿射变换

• 仿射变换是指图像可以通过一系列的几何变换来实现平移、旋转等多种操作。该变

换能够保持图像的平直性和平行性。平直性是指图像经过仿射变换后,直线仍然是
直线;平行性是指图像在完成仿射变换后,平行线仍然是平行线。


background image




平移


background image




镜像

原图

水平镜像

垂直镜像


background image




旋转


background image




透视变换

• 透视变换是将图片投影到一个新的视平面,也称作投影映射.它是二维(x,y)到三

维(X,Y,Z),再到另一个二维(x’,y’)空间的映射.

• 相对于仿射变换,它提供了更大的灵活性,将一个四边形区域映射到另一个四边形

区域(不一定是平行四边形).透视变换可用于图像形状校正。

算数运算


background image




图像加法

• 图像加法可以用于多幅图像平均去除噪声:

• 图像加法实现水印的叠加:


background image




图像减法

• 图像减法是找出两幅图像的差异,可以在连续图像中可以实现消除背

景和运动检测:

图像缩放


background image




缩放

• 图像缩放(image scaling)是指对数字图像的大小进行调整的过程。将分辨率为(w,h)

的图像,缩放为(w', h')的图像,水平方向系数为S

x

 = w' / w, 垂直方向缩放系数为S

y

 

= h' / h。缩放变换矩阵为:

原始图像

放大图像

• 示例:


background image




图像缩小

• 图像缩小可以通过删除矩阵中的元素来实现,例如:下面的例子进行

隔行、隔列删除后,高度、宽度均减小为原来的一半

1

1

1

1

1

1

1

1

2

2

2

2

2

2

2

2

3

3

3

3

3

3

3

3

4

4

4

4

4

4

4

4

5

5

5

5

5

5

5

5

6

6

6

6

6

6

6

6

7

7

7

7

7

7

7

7

8

8

8

8

8

8

8

8

1

1

1

1

3

3

3

3

5

5

5

5

7

7

7

7


background image




图像放大

•图像放大需要进行像素插入,常用的插值法有最邻近插值法和双线性插值法

最邻近插值法:

直接使用新的像素点(x', y')最近的整数坐标灰度值作为该点的值,该方法

计算量小,但精确度不高,并且可能破坏图像中的线性关系

双线性插值法:

使用新的像素点(x',y')最邻近的四个像素值进行插值计算,假设为(i,j),(i+1,j)

(i,j+1),(i+1,j+1),则u=x'-i,v=y'-j.


background image




图像放大(续)

•  下图是最邻近插值法和双线性插值法的效果对比

最邻近插值

双线性插值

腐蚀与膨胀


background image




图像腐蚀

• 腐蚀是最基本的形态学操作之一,它能够将图像的边界点消除,使图像沿着边界向

内收缩,也可以将小于指定结构体元素的部分去除。腐蚀用来“收缩”或者“细化”
二值图像中的前景,借此实现去除噪声、元素分割等功能。


background image




图像膨胀

• 图像膨胀(dilate)是指根据原图像的形状,向外进行扩充。如果图像内两个对象的距

离较近,那么在膨胀的过程中,两个对象可能会连通在一起。膨胀操作对填补图像
分割后图像内所存在的空白相当有帮助。


background image




图像开运算

• 开运算进行的操作是先将图像腐蚀,再对腐蚀的结果进行膨胀。开运算可以用于去

噪、计数等。


background image




图像开运算(续)

• 开运算可用于取出主题图像之间细小的连接


background image




图像闭运算

• 闭运算是先膨胀、后腐蚀的运算,它有助于关闭前景物体内部的小孔,或去除物体

上的小黑点,还可以将不同的前景图像进行连接。


background image




图像闭运算(续)


background image




形态学梯度

• 形态学梯度运算是用图像的膨胀图像减腐蚀图像的操作,该操作可以获取原始图像

中前景图像的边缘。


background image




礼帽运算

• 礼帽运算是用原始图像减去其开运算图像的操作。礼帽运算能够获取图像的噪声信

息,或者得到比原始图像的边缘更亮的边缘信息。


background image




黑帽运算

• 黑帽运算是用闭运算图像减去原始图像的操作。黑帽运算能够获取图像内部的小孔,

或前景色中的小黑点,或者得到比原始图像的边缘更暗的边缘部分。

图像梯度处理


background image

图像梯度处理

图像梯度处理

图像梯度处理

什么是图像梯度

模板运算

均值滤波

高斯滤波

边沿检测

中值滤波

锐化


background image




什么是图像梯度

• 图像梯度计算的是图像变化的速度。对于图像的边缘部分,其灰度值变化较大,梯

度值也较大;相反,对于图像中比较平滑的部分,其灰度值变化较小,相应的梯度
值也较小。一般情况下,图像梯度计算的是图像的边缘信息。


background image




模板运算

• 模板(滤波器)是一个尺寸为n*n的小图像W(n一般取奇数,称为模板尺寸),每

个位置上的值w被称为权重。在进行计算时,将模板的中心和像素P对齐,选取原始
图像中和模板相同范围的邻域N的像素值作为输入。

• 模板卷积的计算是将对齐后的对应位置像素相乘,再进行累加作为像素P位置的输

出值。记原始图像的像素灰度值为s, 计算后的值为d, 则P点的输出值

• 模板排序的计算时将邻域N的像素值进行排序,选择特定次序的灰度值,作为像素P

位置的输出值,如最大值、最小值、中位数等。


background image




均值滤波

• 均值滤波指模板权重都为1的滤波器。它将像素的邻域平均值作为输出结果,均值滤

波可以起到图像平滑的效果,可以去除噪声,但随着模板尺寸的增加图像会变得更
为模糊。经常被作为模糊化使用。

1 1 1
1 1 1
1 1 1

原图

3x3均值滤波

5x5均值滤波


background image




高斯滤波

• 为了减少模板尺寸增加对图像的模糊化,可以使用高斯滤波器,高斯滤波的模板根

据高斯分布来确定模板系数,接近中心的权重比边缘的大。5的高斯滤波器如下所示:

1

4

7

4

1

4

16

26

16

4

7

26

41

26

7

4

16

26

16

4

1

4

7

4

1

原图

5x5均值滤波

5x5高斯滤波


background image




中值滤波

• 中值滤波属于模板排序运算的滤波器。中值滤波器将邻域内像素排序后的中位数值

输出代替原像素值。它在实现降噪操作的同时,保留了原始图像的锐度,不会修改
原始图像的灰度值。

• 中值滤波的使用非常普遍,它对椒盐噪声的抑制效果很好,在抑制随机噪声的同时

能有效保护边缘少受模糊。但中值滤波是一种非线性变化,它可能会破坏图像中线
性关系,对于点、线等细节较多的图像和高精度的图像处理任务中并不太合适。

原图

3x3均值滤波

3x3中值滤波


background image




边沿检测

• 通过梯度计算可以获取图像中细节的边缘。为在锐化边缘的同时减少噪声

的影响,通过改进梯度法发展出了不同的边缘检测算子:

ü

一阶梯度:Prewitt梯度算子、Sobel梯度算子

ü

二阶梯度:Laplacian梯度算子。

-1

0

1

-1

0

1

-1

0

1

-1

-1

-1

0

0

0

1

1

1

-1

0

1

-2

0

2

-1

0

1

-1

-2

-1

0

0

0

1

2

1

0

1

0

1

-4

1

0

1

0

1

1

1

1

-8

1

1

1

1

Prewitt算子

Sobel算子

Laplacian算子


background image




边沿检测(续)

• 边沿检测效果

原图

Prewitt算子

Sobel算子

Laplacian算子


background image




锐化

• 图像锐化与图像平滑是相反的操作,锐化是通过增强高频分量来减少图像中的模糊,

增强图像细节边缘和轮廓,增强灰度反差,便于后期对目标的识别和处理。锐化处
理在增强图像边缘的同时也增加了图像的噪声。


background image




锐化(续)

• 将求取的边缘按照一定系数比例叠加到原始图像上,即可实现对图像的锐化操作。

例如使用Laplacian梯度算子进行锐化操作的模板,其中A是大于等于1的系数:

0

-1

0

-1

A+4

-1

0

-1

0

原图

Laplacian锐化后的效果

图像轮廓


background image

图像轮廓

图像轮廓

图像轮廓

计算机视觉的应用

什么是计算机视觉

轮廓拟合

最小包围圆形

最优拟合椭圆

查找和绘制轮廓

什么是图像轮廓

逼近多边形

轮廓拟合

最小包围圆形

最优拟合椭圆

逼近多边形


background image




什么是图像轮廓

• 边缘检测虽然能够检测出边缘,但边缘是不连续的,检测到的边缘并不是一个整体。

图像轮廓是指将边缘连接起来形成的一个整体,用于后续的计算。

• 图像轮廓是图像中非常重要的一个特征信息,通过对图像轮廓的操作,我们能够获

取目标图像的大小、位置、方向等信息。

• 图像轮廓操作包括:查找轮廓、绘制轮廓、轮廓拟合等


background image




查找和绘制轮廓

• 一个轮廓对应着一系列的点,这些点以某种方式表示图像中的一条曲线,将这些点

绘制成不同样式的线条,就是轮廓查找与绘制


background image




轮廓拟合

• 在计算轮廓时,可能并不需要实际的轮廓,而仅需要一个接近于轮廓的近似多边形,

绘制这个近似多边形称之为轮廓拟合


background image




矩形包围框


background image




最小包围圆形


background image




最优拟合椭圆


background image




逼近多边形

图像处理应用


background image

图像处理应用

图像处理应用

综合案例1

图像数据增强

综合案例1

图像预处理在AI中的应用

图像预处理在AI中的应用

图像数据增强

纯图像技术的缺陷

综合案例2

综合案例2

综合案例


background image




综合案例

• 任务描述:我们对图像中的目标进行分析

和检测时,目标往往具有一定的倾斜角度,
自然条件下拍摄的图像,完全平正是很少
的。因此,需要将倾斜的目标“扶正”的
过程就就叫做图像矫正。该案例中使用的
原始图像如右图所示。


background image




综合案例(续一)


background image




综合案例(续二)


background image




综合案例(续三)


background image




综合案例(续四)


background image




综合案例(续五)


background image




综合案例(续六)

• 校正效果

图像预处理在AI中的应用


background image




图像预处理在AI中的应用

• 图像预处理的目的,是让图像数据更适合AI模型进行处理,例如调整大小、

颜色

• 通过图像预处理技术,实现数据集的扩充,这种方法称为数据增强。数据

增强主要方法有:缩放,拉伸,加入噪点,翻转,旋转,平移,剪切,对
比度调整,通道变化。


background image




图像数据增强

原图

通道调整

水平翻转

缩放

拉伸

旋转

噪声

裁剪


background image




纯图像技术的缺陷

• 到目前为止,我们使用的基本是纯图像技术,对图像大小、颜色、形状、

轮廓、边沿进行变换和处理,但这些技术都有一个共同的缺点,即无法理
解图像内容和场景,要实现这个目标,必须借助于深度学习技术。


background image

今日总结

• 图像形态处理
• 图像轮廓
• 计算机图像技术应用