图像和视觉理论基础
从本节开始,我对图像处理的理论基础过一遍。这里的内容都是老师的笔记,我搬运于此,仅此而已。
首先是图像和视觉基础,主要分为视觉基础,成象基础,图像基础:
- 视觉基础:人眼与亮度视觉;颜色视觉
- 成象基础:成象模型;成象变换;采样和量化
- 图像基础:像素间联系;图像运算;图像坐标变换;图像格式
1,视觉基础
1.1 人眼与亮度视觉
人眼是人类视觉系统的重要组成部分,由晶状体和视网膜组成。晶状体相当于光学镜头(但是要灵活得多),视网膜相当于胶片。视网膜表面分布着许多光接收细胞,这些细胞负责接受光的能量并形成视觉图案。
光接受细胞有两种:锥细胞和柱细胞。锥细胞在亮度较高时活跃,可以分辨光的颜色,但数量较小;柱细胞对低亮度较为敏感,不感受颜色,只提供视野的整体信息,这就是为什么人眼在天色较暗时看到的物体都是黑白剪影的原因。
由于数字图像是以亮度点集合的形式显示的,眼睛区分不同亮度的能力在表达图像处理结果时是很重要的。
人的视觉系统能够适应的光强度级别范围是很宽的。从夜视阈值到强闪光约有1010量级。但是人的视觉系统并不能同时在这么大的范围工作,确切的说,它是利用改变其整个灵敏度来完成这一大变动的,这就是所谓的亮度适应现象。与整个适应范围相比,能同时鉴别的光强度级的总范围很小。
在一定的条件下,一个视觉系统当前的灵敏度叫做亮度适应级。 人眼在某一时刻所能感受到的主观亮度范围是以此适应级为中心的一个小范围。
1.2 颜色视觉
1,RGB模型(面向彩色显示器或打印机)
视觉三基色假说: C = R + G + B
(其中波长分别是:R: 700nm G: 546.1nm B: 435.8 nm)
视网膜锥细胞感红,感绿,感蓝色素,利用三基色叠加可产生光的三补色:
品红:红+蓝 蓝绿:绿+蓝 黄:红+绿
2,RGB彩色空间示意图:
3,区分颜色的三种基本特征量
- 辉度:辉度与物体的反射率成正比
- 色调:是与混合光谱中主要的光的波长相联系的
- 饱和度:与色调的纯度有关,纯光谱色是完全饱和的,随着白光的加入饱和度逐渐减少。
色调和饱和度合起来称为色度。颜色可用辉度和色度共同表示。为组成某种颜色所需的红、绿、蓝的量称为3个刺激量,用X,Y,Z表示。从而,一种颜色可用它的3个色系数表示,分别为:
1931年,国际照度委员会(CIE)制定了一个色度图,用组成某种颜色的三原色的比例来规定这种颜色(如图):
色度图中,边界上的点代表纯颜色,移向中心表示混合的白光增加而纯度减少。到中心点C处各种光谱能量相等而显为白色,此处纯度为零。某种颜色的纯度一般称为该颜色的饱和度。
色度图中,连接任2端点的直线上的点表示由这2端点的颜色相加而组成的一种颜色。3点可组成一个三角形。
1.3 其他彩色模型(NTSC,YCbCr,HSI)
(1)NTSC(National Television System Committee)彩色制式用于电视系统,主要应用于日本、美国,加拿大、墨西哥等国。其主要优势是灰度信息和彩色信息是分离的,所以同一个信号既可以用于彩色电视机,也可以用于黑白电视机。
在NTSC制式中,图像数据由亮度(Y)、色调(I)和饱和度(Q)三部分组成。亮度分量描述灰度信息,其他两个分量携带电视信号的彩色信息。
YIQ和RGB的转换关系:
关于NTSC和PAL
- NTSC和PAL属于全球两大主要的电视广播制式,但是由于系统投射颜色影像的频率而有所不同。
- NTSC(National Television System Committee)标准主要应用于日本、美国,加拿大、墨西哥等等
- PAL(Phase Alternating Line),主要应用于中国,香港、中东地区和欧洲一带。
- NTSC和PAL,这两种制式是不能互相兼容。
- PAL制式和NTSC的分辨率也有所不同,PAL制式使用的是720×576,而NTSC制式使用的是760×480,在分辨率上PAL稍稍占有优势。但PAL制式每秒帧数为25帧,NTSC制式每秒帧数为30帧!
(2)YCbCr 彩色空间广泛应用于数字视频。在这种格式中,亮度信息也用单个分量Y来表示,彩色信息用两个色差分量Cb和Cr来存储。分量Cb是蓝色分量和一个参考值的差,分量Cr是红色分量和一个参考值的差。
RGB转化为YCbCr的变换:
(3)HSI模型(面向彩色处理,如动画中的彩色模型)
(H——色调(hue) S——饱和度(saturation) I——密度(intensity,对应成像亮度和图像灰度))
这个模型有两个特点:
- (1)I分量与图像的彩色信息无关;
- (2)H和S分量与人感受颜色的方式是紧密相连的。
上述特点使得HSI模型非常适合于借助人的视觉系统来感知彩色特性的图像处理算法。
对色点P,H的值对应指向该店的矢量与R轴的夹角。S与指向该点的矢量长成正比,越长越饱和。I的值时沿1根通过三角形中心并垂直于三角形平面的支线来测量的。从纸面出来越多越白,进入纸面越多越黑。
1.4 RGB与HSI之间的转换
从RBG转换到HSI(Smith1978)
从HSI转换到RBG
设S,I, R, G, B的值均在[0, 1] 之间,则有:
1.5 例题
彩色图像的R,G,B和H, S, I 各分量的图示
图2.1 一幅彩色图像的R、G、B和H、S、I各分量 (a) (b) (c) 分别为R、G、B分量 (d) (e) (f) 分别为H、S、I分量
下面自己写个代码,展示一个照片。
原照片如下:
结果如下:
代码如下:
import cv2 import numpy as np photo_path = 'test.jpg' # read origin image image_bgr = cv2.imread(photo_path) b, g, r = cv2.split(image_bgr) # BGR convert RGB image_hsi = cv2.cvtColor(image_bgr, cv2.COLOR_BGR2HSV) h, s, i = cv2.split(image_hsi) res1 = np.column_stack((b, g, r)) res2 = np.column_stack((h, s, i)) res = np.row_stack((res1, res2)) cv2.imshow('allres', res) cv2.waitKey(0) cv2.destroyAllWindows()
2,成象基础
1,成象模型
图像代表一个 2-D 的亮度函数,记为 f(x, y)。在特定的坐标(x, y)处,f 的值或幅度是一个正的标量,其物理意义由图像源决定。当一幅图像从物理过程产生时,它的值正比于物理源的辐射能量(如电磁波),因此,f(x, y) 一定是非零和有限的,这就是:
函数f(x, y) 可由两个量来表征:(1)入射到观察场景的光源的量;(2)场景中物体反射光的量。相应的称为入射分量和反射率,并分别表示为 i(x, y) 和 r(x, y)。因为 f(x, y) 与 i(x, y) 和 r(x, y) 都成正比,所以可以认为是由这两个函数相乘得到的:
其中:
反射分量限制在 0 (全吸收)和 1(全反射)之间。 i(x, y) 的性质取决于照射源,而 r(x, y) 取决于成像物体的特性。
没有颜色的光叫消色或单色光。这种光的属性是它的强度或大小。灰度级这一词汇通常用来描述单色光强度,因为它的范围从黑到灰,最后到白。
单色图像 f 在坐标 (x, y) 处的强度称为图像在那一点的灰度值,即:
Lmin 的要求仅仅是正的,Lmax的要求为有限。
区间[Lmin, Lmax] 称为灰度级。实际常常令该区间为 [0, L], l=0为黑,l=L在灰度级中为白,所有中间值时从黑到白的各种灰度值。
2,成像变换
摄像机坐标系统 xyz 中的如下平面与 xy 平面重合,光学轴沿 z 轴。
图像平面的中心处于原点,镜头中心的坐标是 (0, 0, λ), λ是镜头的焦距。假设摄像机坐标系统与世界坐标系统 xyz 平行。
设(x, y, z)是3-D 空间中任意点的世界坐标。Z > λ ,即所有客观场景中感兴趣的点都在镜头的前面。点 (x, y, z)与其投影到图像平面的坐标间的关系为:
3,采样和量化
图像函数 f(x, y) 在空间和取值(灰度)上必须数字化才能被计算机处理。
3.1,均衡采样和量化
图像的采样:空间坐标(x, y)的数字化被称为图像采样,确定水平和垂直方向上的像素个数 N, M
图像采样的形式化定义
设Z表示整数集合,则采样过程:将xy平面分配到一个网格上,且每一个网格中心的坐标是一个笛卡尔乘积ZxZ的元素对,即所有有序元素对(m, n)的集合,其中m和n属于整数集合Z。
3.2 图像的量化
取值的数字化被称为图像灰度级量化
量化处理:将 f 映射到Z的处理(均匀量化,最佳量化)
Z 的最大取值,确定像素的灰度级数 G = 2k,如256
存储 1 副数字图像所需的位数(bit)
当一幅图像有2k 灰度级时,通常称该图像是 k 比特图像。
空间分辨率与图像质量
幅度分辨率与图像质量
3.3 采样分辨率和灰度级与图像质量之间的关系(Huang[1965] 实验):
实验方法 :
- 选取一组细节多少不同的、不同N、M、k的图象
- 让观察者根据他们的主观质量感觉给这些图象排序
实验结论 :
- 随着采样分辨率和灰度级的提高,主观质量也提高。在极少数情况下,固定N和M,减少k能改进质量。最有可能的原因是减少k常可增加图像看起来的反差。
- 对有大量细节的图像常只需很少的灰度级数就可以较好的表示。k为常数的一系列图像主观看起来可以有较大的差异。
3.4 非均匀采样
采样自适应的采样方法来改善图像质量
- 在尖锐的灰度过滤区采样较密的采样
- 在平滑区域采样较稀采样
3,图像基础
1,像素间联系
1,像素的邻域:位于坐标(x, y)的一个像素 p 有 4 个水平和垂直的相邻像素,其坐标由下式给出:
这个像素集称为 p 的四邻域,用 N4(p) 表示。每个像素距(x, y)一个单位距离,如果(x, y)位于图像的边界,则 p 的某一个邻域像素位于图像的外部。
p 的四个对角近邻像素有如下坐标:
并用 ND(p) 表示。与四个邻域点一起把这些点叫做 p 的 八邻域。用 N8(p) 表示。与前边一样,如果(x, y)位于图像的边界,则 ND(p) 和 N8(p) 中的某些点落入图像的外边。
2,连接性,连通性
像素间的连通性是一个基本概念,它简化了许多数字图像概念的定义,如区域和边界。为了确定两个像素是否连接,必须确定他们是否相邻及他们的灰度值是否满足特定的相似性准则(或者说,他们的灰度值是否相等)。例如,在具有 0 1 值的二值图像中,两个像素可能是4-近邻像素,但是,仅当他们具有同一灰度值时才能说是连接的。
令 V 表示定义连接的灰度值集合。在二值图像中,如考虑灰度值为1的像素之间的连通性,则V={1}。在灰度图像中,考虑灰度值在8~16之间像素的连通性,则 V={8, 9, ..., 15, 16}
- 4——连接:2个像素 p 和 r 在V中取值且 r 在 N4(p) 中。
- 8——连接:2个像素 p 和 r 在V中取值且 r 在 N8(p) 中。
m——连接(混合连接):2个像素p 和 r 在 V 中取值且满足下面条件之一:
- (i) r在N4(p)中;
- (ii) r在ND(p)中且集合N4(p)∩N4(r)没有V中的值。
混合连接是8——连接的改进。混合连接的引入是为了消除采用8——连接常常发生的二义性。例如下图中(a)对于 V={1} 所示的像素安排。位于(b)上不的三个像素显示了多重(二义性) 8——连接,如虚线所指的那样。这种二义性可以通过 m——连接消除,如(c)所示:
如果一个象素p与另一个象素q相连接,则他们相毗邻。
如果图象子集S1中的某些象素与S2中的某些象素毗邻,则SI和S2是毗邻的。
从具有坐标(x,y)的象素p到具有坐标(s,t)的象素q的通路是由一系列特定象素组成的,这些象素具有坐标 (x0,y0),(x1,y1)….(xn,yn) 这里(x0,y0)=(x,y), (xn,yn)=(s,t),并且象素(xi,yi)与(xi-1,yi-1)毗邻。在这种情况下,n是通路的长度。
令S代表一幅图象中象素的子集.
如果在S中p,q象素之间存在一个通路,则说两个象素p和q在S中是连通的。
对于S中的任何象素p,S中连通到该象素的象素集叫做S的连通分量(组元,component)
3,距离量度
对于像素p, q 和r, 其坐标分别为 (x, y) , (s , t) 和(v, w), 如果:
- (a) D(p,q) ≥ 0, D(p,q)=0, 当且仅当 p=q
- (b) D(p,q) = D(q,p)
- (c) D(p,r) ≤ D(p,q) + D(q,r) 则D是距离量度函数。
p和q的欧式距离定义如下:
对于距离量度,距点(x, y)的距离小于或等于某一值的像素是:中心在(x, y)半径为 d 的圆平面。
p和q间的D4距离(城市街区距离)如下式定义:
在这种情况下,距(x, y)的D4距离小于或等于某一值d 的像素形成一个中心在 (x,y)的菱形。
例如,距(x, y)的D4 距离小于或等于 2 的像素形成固定距离的下列轮廓:
D4 = 1 的像素是(x,y)的4邻域。
p和q的D8距离(也叫棋盘距离)定义为下式:
在这种情况下,距(x, y)的D8 距离小于或等于某一值 d 的像素形成中心在(x, y)的正方形。
例如,距点(x, y)(中心点)的D8距离小于或等于2的像素形成下面固定距离的轮廓:
D8 = 1的像素是(x, y)的8邻域。
注意:p和q之间的D4和D8距离与任何通路无关, 因为这些距离仅与点的坐标有关。然而,如果选择考虑m-连通,则两点间的Dm距离用点间最短的通路定义。在这种情况下,两象素间的距离将依赖于沿通路的象素值以及它们的邻点值。
4,图像运算(算术运算,逻辑运算)
4.1 算术运算
图像的算术运算分为加法,减法,乘法,除法;图像的算术运算时逐像素进行的。一般用于灰度图像。
图像像素的坐标也可以进行算术运算(如:图像平移,旋转与缩放等)
4.2 图像的加法运算
加法运算的定义:
主要应用举例:
- 去除“叠加性”噪声
- 生成图像叠加效果
去除“叠加性”噪声
设有一幅混有噪声的图 g(x, y) 是由原始图 f(x, y) 和噪声图 e(x, y)叠加而成,即:
这里假设每个坐标点(x, y)上的噪声都不相关且均值为零。我们处理的目标就是通过加入一系列噪声图像{ gi(x, y)} 来减少噪声。如果噪声符合上述限制,若对 M 幅不同的图像取平均得:
可以证明:
可见,随着平均图数量 M 的增加,噪声在每个像素位置(x, y)的影响逐步减少。
例2.3.1 :用图像平均消除随机噪声(练习)
图像叠加
对于两个图像 f1(x, y) 和 f2(x, y)的加权组合:
其中 alpha + beta = 1
得到各种图像合成的效果,也可以用于两张相片的衔接。
4.3 减法运算
减法运算的定义:
注意应用:
- 去除不需要的叠加性图案
- 检测同一场景两幅图像之间的变化
去除不需要的叠加性图案
设:背景图像 b(x, y) ,前景背景混合图像 f(x, y):
g(x, y) 为去除了背景的图像
检测同一场景两幅图像之间的变化
设:时间1 的图像为 T1(x, y) 时间2的图像为T2(x, y)
如:运动检测,运动估计等
4.4 逻辑运算
图像像素之间的逻辑运算
- 求反
- 异或,或
- 与
逻辑运算时对二值图像的像素值进行处理的一种图像运算。
求反的定义:
主要应用
- 获取一个阴图像(反色图像)
- 获取一个子图像的补图像
获取阴图像
子图像的补图像
异或运算的定义
(相同的输出0, 相异的输出1)
获得相交子图像
黑色代表1,白色代表0。
或运算
合并子图像
黑色代表1,白色代表0
4.5 图像的非集合变换
非几何变换(针对图像像素灰度)定义:
对于原图像 f(x, y) ,灰度值变换函数 T 唯一确定了非几何变换:
g(x, y) 是目标图像,图像没有几何位置的改变,只是图像的灰度取值发生了变化。
对于彩色原图像 f(x, y),颜色值变换函数:
4.6 基于模板的图像运算(T为卷积模板)
基于模板的图像运算分以下三方面学习:
- 模板的定义(模板大小,模板系数)
- 模板运算的定义
- 模板运算距离:均值变换
4.7 模板的定义(二维滤波器的系数构成模板)
所谓模板就是一个稀疏矩阵,模板大小通常是奇数,如3*3 5*5 7*7 等。
模板系数:矩阵的元素:
4.8 模板运算的定义
对于某图像的子图像:
像素Z5的模板运算公式为:
4.9 模板运算例子:均值变换(均值滤波)
模板系数: Wi = 1/9
计算公式 :R = (z1 + z2 + ... + z9) / 9
4.10 灰度级变换(点运算)
定义:对于输入图像 f(x, y),灰度级变换 T 将产生一个输出图像 g(x, y),且 g(x, y) 的每一个像素值,都是由 f(x, y) 的对应输入像素点的值决定的,与其邻域点的取值无关。
灰度级变换(点运算)的实现
通过灰度级映射关系 R = T(r) (R,r取值范围为0~255)来试下灰度级变化。输入像素值与输出像素之间的映射关系可以通过查表来实现。
因此灰度级变换也被称为LUT(look Up Table)变换。
例如:图像求反
如:对比度拉伸与动态范围压缩
根据图像直方图(图像的灰度统计分布)改变图像质量
5,图像坐标变换
图像坐标变换分为以下四个学习:
- 1,平移变换
- 2,放缩变换
- 3,旋转变换
- 4,镜像变换:水平镜像,垂直镜像
5.1 平移变换
用平移量(X0,Y0)将具有坐标为(X, Y)的点平移到新的点(X‘,Y’),可写为:
用矩阵可以表示为 v' = Tv
5.2 缩放变换
5.3 旋转变换
绕原点旋转 alpha 度(逆时针),可表示为:
5.4 水平镜像与垂直镜像
6,图像格式
6.1 调色板
调色板是包含不同颜色的颜色表,每种颜色以红,绿,蓝三种颜色的组合来表示,图像的每一个像素对应一个数字,而该数字对应调色板中的一种颜色。如某像素值为1,则表示该颜色为调色板的编号为1的颜色。
16色或256色 需要调色板。
真彩色图像的每个像素直接用R,G,B三个字节来表示颜色,不需要调色板。
6.2 图像格式
图像格式指的时存储图像采用的文件格式。常用的图像格式有:
- (1) BMP(Bitmap)文件
- (2) GIF(Graphics Interchange Format)文件
- (3) TIFF(Tag Image File Format)文件
- (4) PCX文件
- (5) JPEG格式
- (6) PSD格式
- (7) PCD格式
- (8) WMF矢量格式
BMP文件
BMP文件是Microsoft Windows所定义的图象文件格式,最早应用在Microsoft公司的Microsoft Windows窗口系统中。 BMP图象文件的特点:
■ 该结构只能存放一幅图象;
■ 只能存储四种图象数据:单色、16色、256色、真彩色
■ 图象数据有压缩和不压缩两种处理方式,压缩方式有:RLE4和RLE8 ;
■ 调色板的数据存储结构与文件头的某些参数有关
BMP图象文件的文件结构可分为三部分:
■ 表头;长度固定为54个字节
■ 调色板;真彩色没有调色板
■ 图象数据。
GIF文件
GIF文件是CompuServe公司为了方便网络用户传输图象数据而制定的一种图象文件格式。 GIF图象文件经常用于网页的动画、透明等特技制作。其特点为:
■ 具有多元化结构,能够存储多幅图象;
■ 调色板数据有通用调色板和局部调色板之分;
■ 采用LZW压缩法;
■ 图象数据一个字节存储一点;
■ 文件内的各种图象数据区和补充区多数没有固定的数据长度和存放位置;
■ 图象数据有顺序排列和交叉排列两种方式;
■ 最多只能存储256色图象。
GIF图象文件的文件结构一般由七个数据单元组成:
■ 表头;
■ 通用调色板;真彩色没有调色板
■ 图象数据区以及四个补充区。
表头和图象数据区是文件不可缺少的单元,其它是可选内容。
TIFF文件
TIFF文件是Aldus公司与微软公司共同开发设计的图象文件格式。其特点为:
■ 善于应用指针功能,能够存储多幅图象;
■ 文件内数据区没有固定的排列顺序,但表头必须在文件前端;
■ 可制定私人用的标识信息;
■ 除RGB模型外,还能接受CMYK、YcbCr等图象牧式;
■ 可存储多份调色板数据(数据类型和排列顺序特殊);
■ 能提供多种不同的压缩数据的方法;
■ 图象数据可分割成几个部分进行分别存档。
TIFF图象文件主要由三部分组成:
■ 表头;
■ 标识信息区;
■ 图象数据区。
表头和图象数据区是文件不可缺少的单元,其它是可选内容。
PCX文件
PCX文件是Zsoft公司在20世纪80年代初期设计的,专用于存储该公司开发的PC Paintbrush绘图软件所生成的图象画面数据。目前, PCX文件已成为PC机上较为流行的图象文件。其特点为:
■ 只能存放一幅图象画面;
■ 使用RLE压缩方法进行数据压缩;
■ PCX图象文件有多个版本,能处理多种不同模式下的图象数据;
■ 4色和16色可设定或不设定调色板选项;
■ 16色图象数据可由一个或四个bit plane(颜色的RGB等级)来处理。
JPEG文件
JPEG是由Joint Photographic Experts Group制定的图象压缩格式,其正式名称为“连续色调静态图象的数字压缩和编码”,是一种通用的静态图象压缩编码标准,可以用不同的压缩比例对文件格式进行压缩。 JPEG压缩技术十分先进,它采用最少的磁盘空间来得到较好的图象质量。
PSD格式
PSD是Adobe公司开发的图象处理软件Photoshop中自建的标准图象文件格式,由于Photoshop软件被广泛地应用,因而这种格式也很流行。
PCD格式
PCD是KODAK公司所开发的Photo CD专用存储格式,由于其文件特别大,不得不存在CD-ROM上,但其应用领域特别广。
WMF矢量格式
这是微软公司开发的矢量图形格式,在Office等软件中得到了大量的应用。
总结
- 颜色视觉;
- 成象模型;
- 采样和量化;
- 象素间联系;
- 图象运算;
- 图象坐标变换;
- 图象格式