老师:傅健
数字图像处理有两个目的,一是对图像进行加工和处理,得到人的视觉和心理需要的改进形式,二是对图像中的目标物(或景物)进行分析和理解。
【Lesson 1】9月17日
第二讲 预备知识
在学习具体的数字图像处理方法之前,首先需要学习一些预备知识,对人眼视觉特性 、色度学模型、数字图像的表示、图像的采样和量化以及图像处理涉及到的一些数学变换工具有所了解。
2.1 人眼的视觉特性
与听觉的有限一样,人类的视觉感知也仅限于一定的电磁波段,与照相机具有一定类似性的人眼的构造决定了其视觉特性和成像过程,体现在亮度适应性、同时对比度、视错觉、Mach带、分辨率等方面,人眼可以从逼真度和可懂度两个角度评价一张图片的质量,而数字图线处理中可以用降质图像和标准图像之间的互相关函数、常用均方误差及峰值均方差误差作出定量评价。
人类感知仅限于电磁波的视觉波段,但成像机器则可以覆盖几乎全部电磁波谱。
(1)人眼构造(与照相机类似):
- 瞳孔:直径可调节,控制进入人眼内的通光量。
- 晶状体:曲率可调节,控制不同距离的图在视网膜上成像(焦距)。
- 视细胞
– 锥状细胞:明视细胞,在强光下检测亮度和颜色。
– 杆状细胞:暗视细胞,在弱光下检测亮度,无色彩感觉。
– 每个锥状视细胞连接着一个视神经末梢。故分辨率高分辨细节、颜色;多个杆状视细胞连接着一个视神经末梢,故分辫率低,仅分辫图的轮廓。

(2)人眼成像过程:

(3)亮度适应特性:
暗光适应(10-30秒);亮光适应(1-2秒);暗视阈值到强闪光之间的光强度差别约为 1 0 10 10^{10} 1010 级。
(4)同时对比度(亮度/色度)
(5)Mach带:人眼在观察一条由均匀黑和均匀白的区域形成的边界时,会感觉在亮度变化部位附近的暗区和亮区分别存在一条更黑和更亮的条带。

(6)分辨率
(7)图像质量的评价标准:
2.2 色度学模型
色度学模型的本质是用几个基本的元素变量去构成丰富的色彩空间,常见的色度学模型包括RGB、HSI、CMY和YUV:
RGB 使用三原色合成,在多媒体技术(发出光)中使用最多;
YUV(YCrCb)使用一个亮度信号和两个色差信号,因占用的频宽更多而多用于欧洲电视系统;
HSI 使用色调、饱和度和光强表示颜色,因其分量的独立性带来的工作简化而应用在图像处理和计算机视觉算法中;
CMY 使用三原色的补色合成,多应用在印刷行业(反射光)中,并考虑到黑色的常用性和经济性,加入黑色形成了CMYK色度学模型。
颜色可用色调(Hue)、饱和度(Saturation)和亮度(Intensity)来描述。
三基色原理:R-red,G-green,B-blue。
不同技术领域采用的不同彩色表示方法:RGB,HSI,CMY,YUV
图像处理和计算机视觉中的大量算法都可以在HSI色彩空间中方便地使用,且是可以分开处理且相互独立的,大大简化了图像分析和处理的工作量。
2.3 数字图像表示
数字图像由填充各位置像素灰度值的二维矩阵表示,增加两个通道后构成彩色图像,若把多行的矩阵排列成一列/一行,即变成了图像的矢量形式,用一维/二维随机场可以描述一幅静态/动态的随机图像,本章还介绍了密度、均值、方差、自相关和互相关等性质的计算函数。
矩阵和矢量表示。
矢量:把二维矩阵转化为一维向量
变换:增强,特征提取,数字压缩
采样与量化:模拟转化为数字
随机场
2.4 数字图像采样与量化
如果将我们看到的世界,或者一张胶片所记录的图像理解为二维模拟信号,将其转换成可以进一步处理的数字图像——二维数字信号,需要经过采样和量化两个步骤,即在空间分辨率和灰度级上进行离散化。这个离散化过程所采用的间隔大小,直接影响着图像的空间分辨率、灰度分辨率、数据量、细节层次等等,我们需要在根据实际需求作出选择。
一个宏观经验是:对缓变的图像,应该细量化、粗采样,避免假轮廓;对于细节丰富的图像,应该细采样、粗量化,避免图像的模糊和混叠。
现实中的一幅黑白图像可用二维连续函数 f ( x , y ) f(x,y) f(x,y) 表示,而连续函数表示的图像无法被数字系统传输和存储,需要首先进行空间上的离散化和灰度级值的离散化。
量化级数越大,则数据量、计算量、传输量、存储量越大,同时分辨率也更高、图像质量越好,而超过人眼的分辨率是不必要的,我们需要采用适合的量化级数。
2.5 数学变换工具
数字图像处理可以在空域和频域两个空间中进行,常出现的情况是,图像的某一个特征在一个域中不突出而在另一个域中突出,因此信号处理常用数学变换工具进行两域间的相互变换。相关的改变包括傅里叶变换、卷积、相关、余弦变换等等,应用在图像中时首先需要离散化,具体应用功能包括正弦波去噪、白噪声降噪、图像压缩、直线检测等等。
第三讲 空域图像处理
图像的空域处理指在图像元组成的一长度为自变量的空间进行运算处理,包括代数运算、几何运算、灰度变换和空间邻域运算(如空间滤波)。
3.1 图像的代数运算
代数运算即对图像进行加、减、乘、除即它们符合形成的线性运算:
加法运算 可以通过多重影像叠加降低随机噪声;
减法运算 可以用来检测变化及运动的物体;
乘法运算 可以用来强化对比度特征,实现掩膜处理(图像的局部显示);
除法运算 可用于校正成像设备的非线性影响,或用于使用比率变换检测图像间差别。
点的加、减、乘、除等运算输出图像的过程,是空域下点运算的典型应用。
3.1.1 加法运算
通过加法运算(如:曝光时间的延长、多张照片叠加)可以降低加性随机噪声。
在遥感图像中经常使用。
C ( x , y ) = A ( x , y ) + B ( x , y ) M a t l a b 中 调 用 : Z = i m a d d ( X , Y ) 或 Z = i m a d d ( X , Y , ′ u i n t 1 6 ′ ) C(x,y)=A(x,y)+B(x,y)\\\ \\ \begin{aligned} \rm Matlab中调用:&\rm Z=imadd(X,Y)\\ 或& \rm Z=imadd(X,Y,'uint16') \end{aligned} C(x,y)=A(x,y)+B(x,y) Matlab中调用:或Z=imadd(X,Y)Z=imadd(X,Y,′uint16′)
像素相加可能发生数据值溢出,截取数据类型的最大值,称之为“饱和处理”。
Matlab提供了噪声添加函数 imnoise
,噪声类型如下:高斯白噪声、0均值高斯白噪声、泊松噪声、椒盐噪声、乘性噪声。
M a t l a b 中 调 用 : J = i m n o i s e ( I , s a l t p e p p e r , 0.02 ) \rm Matlab中调用:J=imnoise(I,salt\ pepper,0.02) Matlab中调用:J=imnoise(I,salt pepper,0.02)
3.1.2 减法运算
可以用于检测变化及运动的物体。
C ( x , y ) = A ( x , y ) − B ( x , y ) M a t l a b 中 调 用 : Z = i m s u b t r a c t ( X , Y ) 或 Z = i m a b s d i f f ( X , Y ) C(x,y)=A(x,y)-B(x,y)\\\ \\ \begin{aligned} \rm Matlab中调用:&\rm Z=imsubtract(X,Y)\\ 或& \rm Z=imabsdiff(X,Y) \end{aligned} C(x,y)=A(x,y)−B(x,y) Matlab中调用:或Z=imsubtract(X,Y)Z=imabsdiff(X,Y)
3.1.3 乘法运算
可以用来实现掩膜处理。
时域中的卷积运算与频域中的沉积运算相对应。
C ( x , y ) = A ( x , y ) × B ( x , y ) M a t l a b 中 调 用 : Z = i m m u l t i p l y ( I , 0.5 ) C(x,y)=A(x,y){\times}B(x,y)\\\ \\ \begin{aligned} \rm Matlab中调用:&\rm Z=immultiply(I,0.5)\\ \end{aligned} C(x,y)=A(x,y)×B(x,y) Matlab中调用:Z=immultiply(I,0.5)
3.1.4 除法运算
可用于校正成像设备的非线性影响,可以用在特殊形态的图像处理中。(像素值的比率变化)
C ( x , y ) = A ( x , y ) ÷ B ( x , y ) M a t l a b 中 调 用 : Z = i m d i v i d e ( X , Y ) C(x,y)=A(x,y){\div}B(x,y)\\\ \\ \begin{aligned} \rm Matlab中调用:&\rm Z=imdivide(X,Y)\\ \end{aligned} C(x,y)=A(x,y)÷B(x,y) Matlab中调用:Z=imdivide(X,Y)
3.1.5 线性运算
上述四则运算的归总运算
C ( x , y ) = k 1 ⋅ A ( x , y ) + k 2 ⋅ B ( x , y ) 或 C ( x , y ) = k 1 ⋅ A ( x , y ) + k 2 ⋅ B ( x , y ) + k M a t l a b 中 调 用 : Z = i m l i n c o m b ( k 1 , A 1 , k 2 , B 2 , . . . ) 或 Z = i m l i n c o m b ( k 1 , A 1 , k 2 , B 2 , . . . , k ) C(x,y)=k1{\cdot}A(x,y)+k2{\cdot}B(x,y)\\ 或C(x,y)=k1{\cdot}A(x,y)+k2{\cdot}B(x,y)+k\\ \ \\ \begin{aligned} \rm Matlab中调用:&\rm Z=imlincomb(k1,A1,k2,B2,...)\\ 或&\rm Z=imlincomb(k1,A1,k2,B2,...,k)\\ \end{aligned} C(x,y)=k1⋅A(x,y)+k2⋅B(x,y)或C(x,y)=k1⋅A(x,y)+k2⋅B(x,y)+k Matlab中调用:或Z=imlincomb(k1,A1,k2,B2,...)Z=imlincomb(k1,A1,k2,B2,...,k)
3.2 图像的几何运算
图像的几何运算包括对图像进行旋转、放缩、裁剪、镜像以及以它们为基础的复合运算。
3.2.1 图像的旋转运算
因为旋转后的各像素坐标不能正好落在整数坐标处,需要进行插值,matlab提供旋转变换中对插值方法的选择。
将图像绕原点逆时针旋转 α \alpha α 度。
[ a ( x , y ) b ( x , y ) 1 ] = [ cos α sin α 0 − sin α cos α 0 0 0