数字图像处理
一、数字图像处理基础
1. 数字图像基础
1.1 数字图像定义
1.1.1 采样与量化
- 采样将连续图像离散化为像素网格,量化将像素亮度值映射到离散级别。采样间隔大,图像细节丢失多,可能出现马赛克效应;量化等级少,灰度信息丢失多,可能出现伪轮廓现象。
1.1.2 空间与灰度分辨率
- 空间分辨率指单位长度的像素数,灰度分辨率指灰度级中可分解的最小变化。采样间隔小,空间分辨率高,图像质量好;量化等级多,灰度分辨率高,图像层次丰富。
- 像素:数字图像矩阵表示中每个元素(原点、中心);
动态范围:灰度跨越的值域;
对比度:灰度的统计方差;
空间分辨率:单位距离内可分辨的最大线对数(点数/英寸dpi),对最小可分辨细节的测度方式“像素的尺寸”。
灰度分辨率:灰度量化时,所用的比特数。(256级-8bit灰度分辨率)
1.1.3 数字图像数字表示
f(x,y) = i(x,y)r(x,y)
0<f(x,y)<∞,0<i(x,y)<∞,0<r(i,j)<1;其中i(x,y)为光源的照度,r(x,y)为反射系数率或透射系数率。
1.2 数字图像表示
1.2.1 矩阵表示
- 灰度图用 m×n 矩阵表示,元素值为像素灰度;RGB 图用 m×n×3 矩阵表示,包含 R、G、B 通道。图像尺寸、像素数和灰度级数共同决定图像存储所需位数。
1.2.2 图像分类
- 按动态特性分静止图像和运动图像;按色彩分二值图像、灰度图像和彩色图像;按维数分二维图像、三维图像和多维图像。
1.2.3 领域
邻域: N4(p)、Nd(p)、N8(p)
邻接:
4邻接:q在p的4邻域内
8邻接:q在p的8邻域内
m邻接:q在p的4邻域或D邻域内,且p和q的4邻域交集元素不在V中
通路:4通路、8通路、m通路
连通性:S为一幅图像中像素的子集,如果S中的全部像素间存在一条通路,则可以说像素q和p在S中是连通的。
区域:若R表示为图像中像素的一个子集,R为连通集,则称R为图像的一个区域。若两个区域S1和S2可构成联通集,则可以成为邻接区域(4邻接、8邻接)
边界:由R中与R补集中像素相邻的一组像素。
2. 图像基本运算
2.1 点运算
2.1.1 线性灰度变换
- 线性灰度变换函数形式为 s=ar+b,可对图像灰度进行线性扩展或压缩,改变图像整体亮度和对比度。
2.1.2 分段线性灰度变换
- 将感兴趣灰度范围线性扩展,抑制不感兴趣灰度区域,实现对图像特定灰度区间的增强。
2.1.3 非线性灰度变换
- 包括对数变换和幂次变换。对数变换低灰度区扩展,高灰度区压缩;幂次变换可实现图像加亮、减暗等效果。
2.2 代数运算
2.2.1 加法运算
- 用于融合图像,如去除随机噪声,通过多幅图像相加求平均得到新图像。
2.2.2 减法运算
- 用于检测图像间变化,如运动检测,通过同一场景两幅图像相减得到差值图像。
2.3 几何运算
2.3.1 位置变换
- 包括平移、镜像、旋转等,改变图像中物体对象的空间位置。
2.3.2 形状变换
- 包括放大、缩小等,改变图像中物体对象的形状大小。
二、基本运算
1. 图像运算
1.1 逻辑运算
1.1.1 定义与应用
- 逻辑运算通过与、或、非等逻辑操作处理图像像素,为图像提供模板,常用于图像理解与分析,可与其他方法结合实现特殊效果。
1.2 几何运算
1.2.1 概念与分类
- 几何运算改变图像中像素的空间关系,分为位置变换(平移、镜像、旋转)和形状变换(放大、缩小)等,通过空间变换公式实现图像的几何调整。
三、 图像增强
1.1 增强目的
1.1.1 改善视觉效果
- 图像增强旨在提升图像视觉质量,减少噪声,提高目标与背景对比度,强调或抑制细节,满足人眼观察或机器分析需求。
1.2 增强方法
1.2.1 点处理
- 点处理通过灰度变换调整图像像素值,包括线性、分段线性及直方图修正等方法,直接作用于像素,不改变像素位置。
1.2.2 局部处理
- 局部处理基于像素邻域信息,采用局部平滑、领域平均、中值滤波等方法,适用于去除局部噪声和细节增强。
1.2.3 全局处理
- 全局处理利用图像整体信息,如傅里叶变换,对图像进行频域分析与处理,适用于全局性增强操作。
1.3 评价标准
1.3.1 主观评价
- 主观评价依赖视觉效果,判断图像是否更清晰、细节是否更突出,满足实际应用需求。
2. 灰度变换
2.1 定义与作用
2.1.1 灰度变换
- 灰度变换将一个灰度区间映射到另一个灰度区间,通过调整灰度分布增强图像对比度,使图像细节更清晰。
2.1.2 直方图均衡化
- 直方图均衡化通过调整图像直方图,使像素灰度分布均匀,提升图像整体对比度,改善视觉效果。
2.2 直方图处理
2.2.1 均衡化
- 均衡化对像素个数多的灰度级进行扩展,对像素个数少的灰度级进行合并,使图像灰度分布均匀,增强对比度。
2.2.2 匹配(规定化)
- 匹配根据给定直方图调整图像直方图,实现特定视觉效果或满足特定应用需求。
3. 频率域增强
3.1 空间域与频率域
3.1.1 空间域
- 空间域直接处理像素值,通过卷积、灰度变换等方法实现图像增强,操作直观,适合局部处理。
3.1.2 频率域
- 频率域将图像分解为不同频率分量,通过傅里叶变换实现空间域与频率域的转换,适合全局性增强操作。
3.2 傅里叶变换
3.2.1 定义与公式
3.3 滤波步骤
3.3.1 预处理
- 图像填充与中心化,避免混叠并便于处理。
3.3.2 DFT 变换
- 计算图像频率谱,为滤波操作提供基础。
3.3.3 滤波设计
- 构造滤波器函数,如低通、高通滤波器,实现特定增强效果。
3.3.4 频域操作
- 对频率谱进行操作,调整图像频率成分。
3.3.5 逆变换
- 通过逆傅里叶变换还原增强后的图像。
3.4 平滑与锐化
3.4.1 频率域平滑
- 使用低通滤波器抑制高频噪声,保留低频成分,实现图像平滑,常用滤波器包括理想、巴特沃斯、指数和梯形低通滤波器。
3.4.2 频率域锐化
- 使用高通滤波器增强高频成分,突出图像边缘和细节,常用滤波器包括理想、巴特沃斯、指数和梯形高通滤波器。
四、图像复原与退化模型
1. 图像复原基础
1.1 图像复原定义
- 图像复原是根据退化原因建立数学模型,从被污染或畸变的图像中恢复图像本来面貌。
1.2 图像复原分类
- 按退化模型:无约束和有约束
- 按干预方式:自动和交互
- 按处理域:频率域和空间域
2. 图像退化模型
2.1 退化原因
- 成像系统像差、畸变、带宽有限
- 拍摄姿态、扫描非线性
- 运动模糊、灰度失真
- 辐射失真、噪声引入
2.2 数学模型
- 空间域:( g(x,y) = h(x,y) * f(x,y) + n(x,y) )
- 频率域:( G(u,v) = H(u,v)F(u,v) + N(u,v) )
3. 噪声模型
4. 空间域滤波复原
4.1 均值滤波器
4.1.1 算术均值滤波器
- 计算窗口内像素灰度的算术平均值,适用于衰减噪声。
4.1.2 几何均值滤波器
- 计算窗口内像素灰度的几何平均值,较难使图像变模糊。
4.1.3 谐波均值滤波器
- 计算窗口内像素灰度的谐波平均值,对“盐”噪声处理效果好。
4.1.4 逆谐波均值滤波器
- 计算窗口内像素灰度的逆谐波平均值,适合减少或消除椒盐噪声。
4.2 顺序统计滤波器
4.2.1 中值滤波器
- 将窗口内像素灰度排序,取中值,适用于去除椒盐噪声。
4.2.2 修正后的阿尔法均值滤波器
- 去掉窗口内最高和最低灰度值后取平均,适用于混合噪声。
4.2.3 最大/最小滤波器
- 最大值滤波器去除“胡椒”噪声,最小值滤波器去除“盐”噪声。
4.2.4 中点滤波器
- 计算窗口内最大值和最小值的中点,适用于平滑图像。
5. 频率域滤波复原
5.1 带阻滤波器
- 消除或衰减傅里叶变换原点附近的频段,适用于削减周期性噪声。
5.2 带通滤波器
- 执行与带阻滤波器相反的操作,适用于提取特定频段的信号。
5.3 陷波滤波器
- 阻止或通过事先定义的中心频率邻域内的频率,适用于特定频率的噪声。
6. 退化函数估计
6.1 图像观察估计法
- 通过收集退化图像自身信息估计退化函数,适用于无退化函数知识的情况。
6.2 试验估计法
- 使用相似装置成像脉冲得到退化估计,适用于理论准确估计。
6.3 模型估计法
- 基于退化模型估计退化函数,如大气湍流模型和运动模糊模型。
7. 逆滤波与维纳滤波
7.1 逆滤波
- 原理:在无噪声理想情况下,通过傅里叶变换恢复图像。
- 局限:对噪声敏感,实际应用受限。
7.2 维纳滤波
- 原理:在有噪声条件下,通过最小均方误差恢复图像。
- 优势:综合考虑退化函数和噪声,效果优于逆滤波。
五、数字图像压缩技术
1. 图像压缩基础
1.1 图像压缩定义
- 数字图像压缩是通过减少图像数据中的冗余信息,用最少的比特数表示一幅图像的技术,目的是节省存储容量、减少传输信道容量、缩短图像处理时间。
1.2 图像压缩目的
- 节省存储容量:减少图像文件大小,便于存储和管理。
- 减少传输信道容量:降低传输带宽需求,加快传输速度。
- 缩短图像处理时间:提高图像处理效率,减少计算资源消耗。
2. 图像压缩原理
2.1 信息相关性
- 图像中各像素之间存在较强的相关性,像素的灰度值(或颜色值)与其周围像素的灰度值(或颜色值)存在某种关系,利用这种相关性可以减少冗余信息,实现图像压缩。
2.2 信息冗余
- 图像数据中存在的冗余可分为三类:
- 编码冗余:由于图像直方图不均匀,对出现概率大的灰度级分配过多比特数导致的冗余。
- 像素间冗余:单个像素携带的信息相对较少,其值可以通过相邻像素的值推断。
- 心理视觉冗余:在正常视觉处理中不重要的信息。
3. 保真度准则
3.1 客观保真度准则
3.2 主观保真度准则
- 通过观察者对原图像和解压缩图像的质量进行主观评价,综合平均得出统计结果。
4. 变长编码
4.1 费诺编码
- 基本原理:将输入的信源符号按概率值的非递增顺序排列,按概率之和相等或相近的原则分组,给概率较大的组赋值1,概率较小的组赋值0,重复分组和赋值,直至每个组只有一个符号为止。
4.2 霍夫曼编码
-
基本原理:将输入的信源符号按概率值的大小顺序排列,将最小概率的两个符号合并,重复合并过程,形成一棵二叉树,从树根到每个树叶的路径构成对应的编码。
-
优点:
- 对独立信源符号进行编码时,霍夫曼编码可产生最短的码字。
- 平均码长最短,计算效率高。
4.3 算术编码
- 基本原理:根据信源符号序列的概率,将[0,1]区间划分为互不重叠的子区间,子区间的宽度等于各符号序列的概率,用子区间内的任意一个实数表示对应的符号序列。
- 编码过程:
- 建立概率模型,统计各信源符号的概率。
- 扫描符号序列,依次分割相应区间,最终得到符号序列的码字。
- 使用公式进行区间划分:
5. 变换编码
5.1 变换编码理论
- 正交变换:变换前后信号能量保持不变,能减少原始信号中各分量的相关性,将信号能量集中到少数系数上。
- 变换编码概念:通过正交变换将图像从空间域转换到频率域,利用频率域的特点,用一组非相关数据表示原图像,去除空间域中的相关性,实现数据压缩。
5.2 变换编码过程
- 将图像分解成大小为 (n*n) 的子图像(通常为 8×8 或 16×16)。
- 对每个子图像进行正交变换(如 DCT)。
- 对变换系数进行量化。
- 使用霍夫曼编码或游程编码等无损编码器对量化后的系数进行编码。
5.3 变换选择
- 常用的变换包括:
- DCT(离散余弦变换):在信息集中能力和计算复杂性方面具有综合优势,能将最多的信息分配在最少的系数中,减少分块噪声。
- DFT(离散傅里叶变换):适用于频域分析,但计算复杂度较高。
- WHT(沃尔什-哈达玛变换):计算简单,但信息集中能力稍弱。
- KLT(卡-洛变换):理论上最优,但计算复杂度高。
5.4 变换系数的量化和编码
-
区域编码:只保留变换系数方阵中一个特定区域的系数,通常保留左上角的低频系数,丢弃高频系数。
-
量化方案:采用非均匀量化方案,如表 7.2 的色度量化值表,对 DCT 系数进行量化。
-
编码示例:
- 子图像尺寸:8×8。
- 采用 DCT 变换,得到 64 个 DCT 系数。
- 量化后取左上角的 1 个、6 个、15 个或 28 个分量,其余分量置零。
六、图像压缩
1. 图像压缩基础
1.1 图像压缩定义
- 图像压缩是用最少的比特数表示图像的技术,目的是节省存储容量、减少传输信道容量、缩短图像处理时间。
1.2 图像压缩目的
- 节省图像存储容量,减少传输信道容量,缩短图像加工处理时间。
2. 图像压缩原理
2.1 信息相关性
- 图像像素之间存在较强的相关性,像素的灰度值与其周围像素的灰度值存在某种关系,利用这种相关性可以减少冗余信息,实现图像压缩。
2.2 信息冗余
- 图像数据中存在的冗余可分为三类:编码冗余、像素间冗余、心理视觉冗余。
3. 保真度准则
3.1 客观保真度准则
- 均方根误差(RMSE)和均方根信噪比(SNR)是衡量图像压缩质量的客观指标。
3.2 主观保真度准则
- 通过观察者对原图像和解压缩图像的质量进行主观评价,综合平均得出统计结果。
4. 变长编码
4.1 费诺编码
- 费诺编码是一种变长编码方法,通过将输入的信源符号按概率值的非递增顺序排列,按概率之和相等或相近的原则分组,给概率较大的组赋值1,概率较小的组赋值0,重复分组和赋值,直至每个组只有一个符号为止。
4.2 霍夫曼编码
- 霍夫曼编码是一种变长编码方法,通过将输入的信源符号按概率值的大小顺序排列,将最小概率的两个符号合并,重复合并过程,形成一棵二叉树,从树根到每个树叶的路径构成对应的编码。
5. 算术编码
5.1 算术编码原理
- 算术编码假设对于一个独立信源来说,任一由信源符号组成的长度为N的序列的发生概率之和等于1,根据信源符号序列的概率,把[0,1]区间划分为互不重叠的子区间,子区间的宽度恰好等于各符号序列的概率。
5.2 算术编码过程
- 建立概率模型,编码过程,扫描符号序列,依次分割相应的区间,最终得到符号序列所对应的码字。
6. 变换编码
6.1 变换编码理论
- 正交变换可保证变换前后信号的能量保持不变,具有减少原始信号中各分量的相关性及将信号的能量集中到少数系数上的功能。
6.2 变换编码概念
- 变换编码是指以某种可逆的正交变换把给定的图像变换到另一个数据/频率域,利用新的数据域的特点,用一组非相关数据(系数)来表示原图像,去除或减小图像在空间域中的相关性,将尽可能多的信息集中到尽可能少的变换系数上,实现数据压缩。
6.3 变换编码过程
- 将待编码的N×N的图像分解成(N/n)²个大小为n×n的子图像,对每个子图像进行正交变换,得到各子图像的变换系数,对变换系数进行量化,使用无损编码器对量化的系数进行编码,得到压缩后的图像。
7. 变换选择
7.1 变换系数
- 对于N×N的图像f(x,y)和该图像的二维正向离散变换T(u,v),有:
7.2 系数选择
- 如果把变换系数的模板函数定义为:
7.3 几种变换的性能
- 变换编码通常采用的变换包括:DCT(离散余弦变换)、DFT(离散傅里叶变换)、WHT(沃尔什-哈达玛变换)和KLT(卡-洛变换)等实现。DCT在信息集中能力和计算复杂性方面的综合优势已经取得了较多的应用。
8. 变换系数的量化和编码
8.1 区域编码
- 区域编码是只保留变换系数方阵中一个特定区域的系数,而将其它系数置零的一种编码方法。由于大多数图像的频谱具有低通特性,所以通常是保留低频部分的系数而丢弃高频部分的系数。
8.2 量化方案
- 采用非均匀量化方案,如表7.2的色度量化值表,对DCT系数进行量化。
9. 图像分割基础
9.1 图像分割定义
- 图像分割是将数字图像划分成互不相交(不重叠)区域的过程,分割质量的好坏直接影响后续图像处理的效果。
9.2 图像分割特性
- 分割出来的各区域对某种性质(例如灰度,纹理)而言具有相似性,区域内部是连通的且没有过多小孔;区域边界是明确的;相邻区域对分割所依据的性质有明显的差异。
9.3 图像分割算法
- 图像分割算法一般是基于灰度值的两个基本特性之一:不连续性和相似性。
10. 边缘检测
10.1 边缘检测定义
- 边缘检测是指将图像中的边缘点勾画出来,形成物体的轮廓,但很少能形成闭合且连通的边界,因此需要进行边缘点连接。
10.2 边缘检测方法
- 基于一阶导数的边缘检测算子包括Roberts算子、Sobel算子、Prewitt算子等;基于二阶导数的边缘检测算子包括拉普拉斯算子。
10.3 边缘检测算子比较
- Roberts算子边缘定位精度较高,但容易丢失一部分边缘,不具备抑制噪声的能力;Sobel算子和Prewitt算子对噪声具有一定的抑制能力,但不能完全排除检测结果中出现的虚假边缘;拉普拉斯算子对噪声非常敏感,容易丢失一部分边缘的方向信息,造成一些不连续的检测边缘。
10.4 LOG算子
- LOG算子首先用高斯函数对图像作平滑滤波处理,然后再使用拉普拉算子检测边缘,克服了拉普拉斯算子抗噪声能力比较差的缺点,但在抑制噪声的同时也可能将原有的比较尖锐的边缘也平滑掉了。
11. 阈值分割
11.1 阈值分割定义
- 阈值分割是将所有灰度值大于或等于某阈值的像素都判属于物体;将所有灰度值小于该阈值的像素排除在物体之外。
11.2 阈值分割方法
- 全局阈值和自适应阈值。
11.3 阈值选择
- 直方图技术、最大类间方差法(大津法)、迭代法求阈值。
11.4 最大类间方差法
- 以最佳阈值将图像的灰度直方图分割成两部分,使两部分之间的方差取最大值,即分离性最大。
11.5 迭代法求阈值
- 选择图像灰度的中值作为初始阈值,利用阈值把图像分割成两部分区域,计算其灰度均值,计算新的阈值,重复步骤,直到新旧阈值的值差别小于某个给定值。
12. 分水岭算法
12.1 分水岭算法定义
- 分水岭算法是一种借鉴了形态学理论的分割方法,将一幅图像看作一个拓扑地形图,其中灰度值被认为是地形高度值,高灰度值对应着山峰,低灰度值处对应着山谷。
12.2 分水岭算法过程
- 将水从任一处流下,它会朝地势低的地方流动,直到某一局部低洼处才停下来,这个低洼处被称为吸水盆地,最终所有的水会分聚在不同的吸水盆地,吸水盆地之间的山脊被称为分水岭,水从分水岭流下时,它朝不同的吸水盆地流去的可能性是相等的。
12.3 分水岭算法应用
- 将这种想法应用于图像分割,就是要在灰度图像中找出不同的吸水盆地和分水岭,由这些不同的吸引盆地和分水岭组成的区域即为我们要分割的目标。
13. 区域生长
13.1 区域生长定义
- 区域生长是一种根据事先定义的准则将像素或子区域聚合成更大区域的过程。
13.2 区域生长方法
- 开始时确定一个或多个像素点作为种子,然后按某种相似性准则增长区域,逐步生成具有某种均匀性的空间区域,将相邻的具有相似性质的像素或区域归并从而逐步增长区域,直至没有可以归并的点或其它小区域为止。
13.3 区域生长准则
- 所考虑的像素点的灰度值和种子点区域的平均灰度值的差的绝对值小于或等于某个阈值T,就将该像素点归入种子点所在的区域。
14. 区域分裂与合并
14.1 区域分裂
- 如果区域的某些特性差别比较大,即不满足一致性准则时,则区域应该采用分裂法,分裂过程从从图像的最大区域开始,一般情况下,是从整幅图像开始。
14.2 区域合并
- 单纯的区域分裂只能把图像分成许多满足一致性谓词的区域,相邻的具有相同性质的区域并没有合成一体,合并运算就是把相邻的具有相似性质的区域合成为一个区域。
14.3 区域分裂与合并算法
- 使用某种方法进行图像的初始区域分割,对于图像中相邻的区域,计算是否满足一致性谓词,若满足则合并为一个区域,重复步骤,直到没有区域可以合并为止。
15. 二值图像处理
15.1 二值图像定义
- 二值图像是只具有两个灰度级的图像,是一个数字图像的重要子集,通常是由一个阈值分割操作产生的。
15.2 二值图像处理方法
- 包括连通区域标记、数学形态学图像处理等。
15.3 连通区域标记
- 使用4连通或8连通标记出各个连通区域。
15.4 数学形态学图像处理
- 形态学图像处理以在图像中移动一个结构元素并进行一种类似于卷积操作的方式进行。
15.5 开运算和闭运算
- 开运算是先腐蚀后膨胀的过程,具有消除细小物体、在纤细点处分离物体、和平滑较大物体的边界的同时又不明显改变其面积的作用;闭运算是先膨胀后腐蚀的过程,具有填充物体内细小空洞、连接邻近物体、在不明显改变物体面积的情况下平滑其边界的作用。
七、彩色图像处理技术
1. 彩色图像基础
1.1 彩色图像定义
- 彩色图像由光传感器成像,像素值为彩色值,从计算角度看是具有三个分量的向量函数,与彩色模型相关。
1.2 彩色到灰度转换
- 通过特定公式将彩色图像转换为灰度图像,常用公式为 ( Y = 0.299R + 0.587G + 0.114B ),以适应不同处理需求。
2. RGB模型
2.1 RGB模型概念
- RGB模型用红、绿、蓝三原色亮度定量表示颜色,是加色混色模型,适合发光体显示,颜色由三色光叠加实现。
2.2 RGB图像大小
- 每个RGB彩色像素有24bit深度,由三个8bit图像组成,全彩色图像颜色总数为 ( 2^{24} = 16777216 ) 种。
2.3 RGB图像生成
- 在Matlab中,使用
cat
函数将三个分别代表RGB分量的矩阵连接成三维矩阵,生成RGB彩色图像。
3. HSI模型
3.1 HSI模型概念
- HSI模型用色调(H)、饱和度(S)、亮度(I)三参数描述颜色特性,广泛应用于图像处理和识别。
3.2 HSI模型特性
- 色调H由角度表示,反映彩色接近的光谱波长;饱和度S表示颜色深浅,越高颜色越深;亮度I由反射系数决定。
4. 伪彩色处理
4.1 伪彩色处理定义
- 伪彩色处理将灰度图像映射到彩色空间,突出兴趣区域或待分析数据段,是一种实用的图像增强技术。
4.2 伪彩色处理方法
- 包括强度分层和灰度级到彩色变换,通过不同映射函数将灰度图像转化为伪彩色图像。
5. 彩色图像处理方法
5.1 彩色图像增强
- 对R、G、B三个分量分别增强,或先将RGB转换为HSI模型,对HSI增强后再转换回RGB。
5.2 彩色图像直方图处理
- 在HSI模型中,仅对亮度分量I进行直方图均衡化,提升图像视觉效果。
5.3 彩色图像平滑
- 对RGB彩色图像的每个分量进行邻域平均平滑,等同于对RGB彩色向量执行邻域平均平滑,减少图像噪声。