2 图像和视频
1. 图像
1.1 基本概念
-
像素(px):像素是分辨率的单位。像素是构成位图图像最基本的单元,每个像素都有自己的颜色。每张图片都是由色点组成的,每个色点称为一个像素。
- 一个像素多大?——取决于显示屏的分辨率
-
分辨率(又称解析度、解像度),可以细分为显示分辨率、图像分辨率、打印分辨率和扫描分辨率等
a) 图像分辨率就是 单位英寸内的像素点数。单位为PPI(Pixels Per Inch)
;分辨率越高,像素的点密度越高,图像越逼真
b)屏幕分辨率:屏幕分辨率是屏幕每行的像素点数每列的像素点数,每个屏幕有自己的分辨率。屏幕分辨率越高,所呈现的色彩越多,清晰度越高。 —— 故,电子设备只说分辨率是 多少多少,是不能代表清晰度 -
灰度:表示图像像素明暗程度的数值,也就是黑白图像中点的颜色深度。范围一般为0-255。白色为
255,黑色为0。 (黑白灰) - 色调:各种图像色彩模式下原色的明暗程度,级别范围从0到255,共256级色调。
-
通道:把图像分解成一个或多个颜色成分:
①单通道:一个像素点只需一个数值表示,只能表示灰度,0为黑色; (二值图&灰度图)
②三通道:RGB模式,把图像分为红绿蓝三个通道,可以表示彩色,全0表示黑色;
③四通道:RGBA模式,在RGB基础上加上alpha通道,表示透明度,alpha=0表示全透明 -
对比度:指不同颜色之间的差别。对比度=最大灰度值/最小灰度值
- 对比度过大会比较刺眼
- 计算方式:根据自己定义。可以只对比一个通道对比度;也可以对比三通道均值 的对比度(一般情况是均值作为对比度)
-
频率: 灰度值变化剧烈程度的指标,是灰度在平面空间上的梯度。
- 高频:如相邻之间的灰度变化很快(值差距大)
- 低频:两个像素点之间一样或变化较小
- 幅值: 幅值是在一个周期内,交流电瞬时出现的最大绝对值,也是一个正弦波,波峰到波谷的距离的一半。
1.2 RGB模型
- 色彩三原色(CMYK):品红、黄、青
- 光学三原色(RGB):红、绿、蓝
RGB颜色模型是三维直角坐标颜色系统中的一个单位正方体
在正方体的主对角线上,各原色的量相等,产生由暗到亮的白色。即灰度。(0,0,0)为黑,(1,1,1)为白,正方体的其他6个角点分别为红、黄、绿、青、蓝和品红
1.3 为什么很多图像识别将彩色图像灰度化?
很多图像识别的应用,都会将彩色图像灰度化(变为灰度图)
- 很多情况下,我们只是识别图像,不需要识别颜色
- 颜色信息丢失,但物体信息不会丢失
- 没有用
- 增加计算量
1.4 如何灰度化?
(三值 ->
一值)
- 三通道取均值
- 三通道分配权重
1.5 如何操作RGB值?
RGB值转化为浮点数
- 浮点数运算结果更精确,整数运算中会因丢弃小数部分可能导致颜色值严重失
真,计算过程越多越失真 - 将RGB值转化为[0,1]浮点数(
值/255
)
[注] 黑白图像是二值图像(0,1),没有灰
2. 图像的取样与量化
-
数字图像:计算机保存的图像都是一个一个的像素点,称为数字图像。
- 每个像素点都会有一个灰度值,即它的数字
-
图像数字化过程由图像的 取样 与 量化 来完成。
-
图像数字化过程:现实看到的图像转化为计算机处理的、由一个一个像素点组成的数字图像
- 取样:就是要用多少点来描述一幅图像,取样结果质量的高低就是用图像的分辨率来衡量的
-
量化:是指要使用多大范围的数值来表示图像采样之后的一个点。
- 范围大:颜色更加真实
[总结]
数字化坐标值 称为 取样,数字化幅度值 称为 量化。
- 在取样时,若横向的像素数(列数)为M ,纵向的像素数(行数)为N,则图像总像素数为 M*N 个像素。
清晰度 & 计算量 的 trade-off
需要考虑的因素:
- 正确性(清晰度)
- 性能
- 功耗(省电)(计算量少)
3. 上采样与下采样
-
缩小图像(或称为下采样(subsampled)或降采样(downsampled))的主要目的
有两个:1、使得图像符合显示区域的大小;2、生成对应图像的缩略图。 -
放大图像(或称为上采样(upsampling)或图像插值(interpolating))的主要目的
是放大原图像,从而可以显示在更高分辨率的显示设备上。
3.1 为什么要使用上采样?
- 尽量减少分辨率的损失。(在放大时,不仅要增加图像的面积,也要增加像素点的个数)
[注]
若想将原图像放大,原图想的像素点个数固定,若直接将其拉大,后果是:图像整体的面积增大了,但像素的个数没有变。分辨率会降低。(像素点个数不变,面积增加),会变模糊。
上采样需要增加像素点
- 问题:增加几个像素点? / 所增加的点取值如何?
3.2 原理
- 上采样原理:内插值
- 下采样原理:(M/s) * (N/s)。-- 直接除就完事儿了
3.3 常用的插值方法
1、最邻近插值 The nearest interpolation
设i+u
, j+v
, 为待求象素坐标,则待求象素灰度的值 f(i+u, j+v)
如下图所示:
i
,j
为正整数,u, v
为大于零小于1的小数,下同
- 优点:计算量小
- 缺点:所生成的图像灰度不连续,在灰度变化处,会出现明显的锯齿状
2、双线性插值 - 放大、缩小都可以用
f(i+u, j+v) = (1-u) * (1-v) * f(i, j) + (1-u) * v * f(i, j+1) + u * (1-v) * f(i+1, j) + u * v * f(i+1, j+1)
-
单线性插值
-
双线性插值
- 双线性差值的原理:2次单线性插值
- 目的:在上采样和下采样时,让图像看起来舒服
中心对齐
源图像和目标图像几何中心的对齐
4. 直方图
4.1 直方图 histogram (灰度出现的情况)
- 在图像处理中,经常用到直方图,如颜色直方图、灰度直方图等。
- 图像的灰度直方图就描述了图像中灰度分布情况,能够很直观的展示出图像中各个灰度级所占的多少。
- 图像的灰度直方图是灰度级的函数,描述的是图像中具有该灰度级的像素的个数:其中,横坐标是灰度级,纵坐标是该灰度级出现的频率。
直方图与像素点位置无关(不受旋转、平移的影响);受颜色的影响。
故,直方图可以作为图像的特征
4.2 直方图的性质
• 直方图反映了图像中的灰度分布规律。它描述每个灰度级具有的像素个数,但不包含这些像素在图像中的位置信息。
• 任何一幅特定的图像都有唯一的直方图与之对应,但不同的图像可以有相同的直方图。
• 如果一幅图像有两个不相连的区域组成,并且每个区域的直方图已知,则整幅图像的直方图是该两个区域的直方图之和
4.3 直方图的应用
[例]
- 照相方面的应用,照片根据直方图来判断照片偏暗还是偏亮;
- P图,一键调亮…自动调整亮度
- 在图像处理时,将图像变为直方图分布比较均匀的;这样就可以使每个像素的值分布均匀;(过于集中的问题:会给计算机一堆一样的数字,就没有区分度,没有区分度就无法抓取它的特征)
4.4 直方图均衡化
直方图均衡化是什么 & 作用
- 直方图均衡化 是将原图像的直方图通过变换函数变为均匀的直方图,然后按均匀直方图修改原图像,从而获得一幅灰度分布均匀的新图像。
-
直方图均衡化的作用是图像增强
不会出现锯齿、模糊、马赛克(失真很少),原因是没有改变像素的个数
直方图均衡化步骤
为了将原图像的亮度范围进行扩展,需要一个映射函数,将原图像的像素值均衡映射到新直方图中,这个映射函数有两个条件:
- 为了不打乱原有的顺序,映射后亮、暗的大小关系不能改变,
- 映射后必须在原有的范围内,比如
(0-255)
步骤:
- 依次扫描原始灰度图像的每一个像素,计算出图像的灰度直方图H
- 计算灰度直方图的累加直方图
- 根据累加直方图和直方图均衡化原理得到输入与输出之间的映射关系。
- 最后根据映射关系得到结果:
dst(x,y) = H'(src(x,y))
进行图像变换
**[例]
5. 滤波
线性滤波可以说是图像处理最基本的方法,它可以允许我们对图像进行处理,产生很多不同的效果。
6. 卷积
Convolution kernel
:卷积核、滤波器、过滤器、Kernel
- 常见的滤波:线性滤波、中值滤波、均值滤波、高斯滤波…
6.1 原理
- 卷积的原理与滤波类似。但是卷积却有着细小的差别。
- 卷积操作也是卷积核与图像对应位置的乘积和。但是卷积操作在做乘积之前,需要先将卷积核翻转180度,之后再做乘积。
6.2 卷积的数学定义:
作用:图像处理特征提取(效果取决于滤波器)、 给图像加 / 去 噪音
6.3 滤波器规则
对于滤波器,也有一定的规则要求:
- 滤波器的大小应该是奇数,这样它才有一个中心,例如3x3,5x5或者7x7。有中心了,也有了半径的称呼,例如5x5大小的核的半径就是2。
- 滤波器矩阵所有的元素之和应该要等于1,这是为了保证滤波前后图像的亮度保持不变。但这不是硬性要求。
- 如果滤波器矩阵所有元素之和大于1,那么滤波后的图像就会比原图像更亮,反之,如果小于1,那么得到的图像就会变暗。如果和为0,图像不会变黑,但也会非常暗。
- 对于滤波后的结构,可能会出现负数或者大于255的数值。对这种情况,我们将他们直接截断到0和255之间即可。对于负数,也可以取绝对值。
- 在具体应用中,往往有多个卷积核,可以认为,每个卷积核代表了一种图像模式。
- 如果某个图像块与此卷积核卷积出的值大,则认为此图像块十分接近于此卷积核。
[例]
如果我们设计了6个卷积核,可以理解:我们认为这个图像上有6种底层纹理模式,也就是我们用6种基础模式就能描绘出一副图像。
6.4 常见卷积核
-
Gx:竖直边界提取
用Gx来卷积下面这张图的话,就会在中间黑白边界获得比较大的值。 -
一个没有任何效果的卷积
-
平滑均值滤波
-
高斯平滑
-
图像锐化
-
Soble边缘检测
6.5 卷积解决的问题
卷积负责提取图像中的局部特征
6.6 卷积–步长/Stride
- 如果用
(f, f)
的过滤器来卷积一张(h, w)
大小的图片,每次移动一个像素的话,那么得出的结果就是(h-f+1, w-f+1)
的输出结果。f是过滤器大小,h
和w
分别是图片的高宽。 - 如果每次不止移动一个像素,而是
s
个像素,那么结果就会变为:
存在的问题:
• 只要是f或s的值比1要大的话,那么每次卷积之后结果的长宽,要比卷积前小一些。
• 丢失信息
6.7 卷积–填充/Pading
6.8 卷积–填充
1. Same(相同)填充
2. Vaild(有效)填充
6.9 卷积–3通道卷积
- 输出2通道图像:每个通道都做了特征提取,有两个卷积核,即做了2种特征的提取。对于原图片,输出2种特征图像。输出的层并非是组成一张图像,而是分别代表不同的特征,2个特征层。(能提取出多少种特征,就有多少输出通道)
输入通道数决定了每一组卷积核内有多少个卷积矩阵,输出通道数决定了有多少组卷积核
6.10 卷积核的确定
- CNN厉害的地方在于,过滤器的特征并不是人为设定的,而是通过大量图片自己训练出来的。
来源于八斗学院