《图像处理》第3章 空间域图像增强
(仅是个人学习摘抄)
图像增强的主要目的是处理图像,以便处理结果图像比原图像更适合特定的应用。特定意味着增强方法针对特定的问题,不同的问题适合采用不同的增强方法。
没有一个图像增强的统一理论,如何评价图像增强的结果好坏也没有统一的规律。主观标准:人;客观标准:结果。
图像增强的方法分为两大类:空间域方法和频域方法。“空间域”是指图像平面自身,这类方法是以对图像的像素直接处理为基础的。“频域”处理技术是以修改图像的傅氏变换为基础的。
3.1 背景知识
空间域增强是指增强构成图像的像素,可由下式定义:
g(x,y)=T[f(x,y)]
其中 f(x,y) 是输入图像,g(x,y) 是输出图像,T 是对 f 的一种操作,其定义在(x,y)的邻域。
定义一个点(x,y)邻域的主要方法是利用中心在(x,y)点的正方形或矩形子图像。子图像的中心从一个像素向另一个像素移动。T 操作应用到每一个(x,y)位置得到该点的输出 g。
1X1的邻域 T(r) 产生两级(二值)图像,阈值函数
更大的邻域会有更多的灵活性,一般的方法是利用点(x,y)事先定义的邻域里的一个 f 值的函数来决定 g 在(x,y)的值,主要是利用所谓的模板(又称滤波器、核、掩膜)
模板是一个小的(3X3)二维阵列,模板的系数值决定了处理的性质,如图像尖锐化等。以这种方法为基础的增强技术通常是指模板处理或滤波。
3.2 基本灰度变换
灰度级变换函数:s = T(r)
三种基本类型:线性的(正比或反比)、对数的(对数和反对数)、幂次的(n 次幂和 n 次方根变换)
1、图像反转
s = L - 1 - r
反转变换:适于处理增强嵌入于图像暗色区域的白色或灰色细节,特别是当黑色面积占主导地位时。灰度值范围是 [0,L-1]。
实质是把灰度图像中,明暗两种像素进行互换,亮变暗,暗变亮。
Ex:Po = 256 - 1 - Pi 像素值范围是0~255,所以有 L = 256
相似作用效果:灰度值映射函数 imadjust
g = imadjust(f,[low-in,high-in],[low-out,high-out],gamma);
f:输入图像 g:输出图像
gamma:映射函数曲线的特征参数。大于 1,映射被加权至高的输出值;小于 1,被加权至低的输出值;等于 1 为线性映射,默认值是 1。
g = imadjust(f,[0,1],[1,0]); %明暗变换,同反转变换;但灰度值映射形式更加丰富
2、对数变换
s = c log(1+r)
对数变换:使一窄带低灰度输入图像映射为一宽带输出值。可以用于扩展被压缩的高值图像中的暗像素。
扩展图像中暗像素的值,同时压缩更高灰度级的值。
3、幂次变换
s = crγ
幂次变换:幂次曲线中的 γ 部分值把输入窄带暗值映射到宽带输出值。相反,输出高值时也成立。
伽马校正:可使图像对比度增强,扩展灰度级(变量,往灰度值 1 扩展,图像整体变白);可进行灰度值压缩(往 0 压缩,图像整体变黑)
γ > 1,压缩灰度级,变亮变白;γ < 1,扩展灰度级,变暗变黑
伽马校正:亮度调整——加亮、减暗图像
假设斜线是原始图像的亮度,左图中变化,使图像变亮;右图变化,使图像变暗。
4、对比拉伸
非线性变换函数:其形式可以是任意组合,有些重要的变换可以应用分段线性函数描述。
(a) 变换函数的形式
(b) 低对比度图像
(c) 对比度拉伸的结果
(d) 门限化结果
灰度切割:
(a) 加亮[A,B]范围,其他灰度减小为一恒定值
(b) 加亮[A,B]范围,其他灰度级不变
(c) 原图像
(d) 使用(a)变换的结果
3.3 直方图处理
1、灰度级直方图
灰度级 [0,L-1] 范围的数字图像的直方图是离散函数:
h(rk)=nk
其中 rk 是第 k 级灰度,nk 是图像中灰度级为 rk 的像素个数。进行归一化,则 P(rk)=nk/n,n 为图像中像素的总数。P(rk) 给出了灰度级为 rk 发生的概率估计值。
2、直方图均衡化
s = T(r) 0≤r≤1
满足如下条件:(1)T(r) 在区间 0≤r≤1 中为单值且单调递增(2)当 0≤r≤1 时,0≤T(r)≤1
一幅图像的灰度级可视为 [0,1] 的随机变量,令 Pr(r) 和 Ps(s) 分别表示随机变量 r 和 s 的概率密度函数。
若 Pr(s) 和 T(r) 已知,则有如下结果:
Ps(s) = Pr(r)|dr/ds|
s 的概率密度函数由输入函数的概率密度函数和多选择的变换函数决定。
累积分布函数(CDF)
满足如下条件:
(1)T(r) 在区间 0≤r≤1 中为单值且单调递增
(2)当 0≤r≤1 时,0≤T(r)≤1
对于离散值,处理其概率与和
灰度级 rk 出现的概率为:Pr(rk) = nk/n k = 0,1,...,L-1
则变换函数的离散形式为:
求得 sk 的值后,还需将其取整扩展变换回 [0,L] 区间
3.4 用算数/逻辑操作增强
图像中的算数/逻辑操作主要以像素对像素为基础在两幅或多幅图像间进行。
逻辑:与、非、或
算数:加、减、乘、除
1、图像的减法处理:
两幅图像 f(x,y) = f(x,y) - h(x,y)
计算两幅图像对应像素点的差而得出的。
2、两幅图像的相除看成用一幅的取反图像与另一幅图像相乘。
图像的乘法不仅可以用于对二进码模板进行处理,而且可以直接用于灰度处理。
3、图像平均处理:
多幅图像相加,取平均值,从而减少噪声。
则有:
当 K 增加时,在各个(x,y)位置上像素值的噪声变化率将减少,意味着随着在图像均值处理中噪声图像使用量的增加,越来越趋近于 f(x,y)
3.5 空间滤波基础
图像的平滑、锐化都是利用掩膜操作来完成的。通过掩膜操作实现一种邻域运算,待处理像素点的结果由邻域的图像像素以及相应的与邻域有相同维数的子图像得到,这些子图像被称为滤波器、掩膜、核、模板或窗口。
掩膜运算的数学含义是卷积(或互相关)运算。
点(x,y)处的响应 R 为:
卷积运算对应位置相乘后累加。
卷积运算示意图:
一般来说,在 M X N 的图像 f 上,用 m x n 大小的滤波器掩膜进行线性滤波,由下式给出:
其中 a = (m-1)/2 且 b = (n-1)/2,处理的掩膜长与宽都是奇数。
空域滤波器:
使用空域滤波器模板进行的图像处理,被称为空域滤波。模板本身被称为空域滤波器。
分类:数学形态分类
(1)线性滤波器
线性滤波器是线性系统和频域滤波概念在空域的自然延伸。其特征是结果像素值的计算由下列公式定义:
主要线性空域滤波器:
① 平滑滤波器
钝化图像、去除噪音
② 锐化滤波器
边缘增强、边缘提取
③ 带通滤波器
删除特定频率、增强中很少用
(2)非线性滤波器
使用模板进行结果像素值的计算,结果值直接取决于像素邻域的值,而不使用乘积和的计算。
R = w1z1 + w2z2 + ... +wnzn
主要非线性滤波器:
① 中值滤波
钝化图像、去除噪音
R = mid{zk | k = 1,2,...,9}
② 最大值滤波
寻找最亮点
R = max{zk | k = 1,2,...,9}
③ 最小值滤波
寻找最暗点
R = min{zk | k = 1,2,...,9}
3.6 锐化空间滤波器
锐化处理的目的是突出图像中的细节或者增强被模糊的细节。
锐化处理可用空间微分来完成。微分算子的响应强度与图像在该点的突变程度有关。图像微分增强了边缘和其他突变(如噪声)而消弱了灰度变化缓慢的区域。
我们最感兴趣的微分性质是恒定灰度区域(平坦段)、突变的开头与结尾(阶梯与斜坡突变)以及沿着灰度级斜坡处的特性。
对于一阶微分必须保证:
(1)平坦段微分值为零
(2)在灰度阶梯或斜坡的起点处微分值为零
(3)沿着斜坡面微分值为零
对于二阶微分必须保证:
(1)在平坦区微分值为零
(2)在灰度阶梯或斜坡的起始点处微分值非零
(3)沿着斜坡面微分值为零
由于我们处理的是数字量,最大灰度级的变化是有限的,变换发生的最短距离是在两个相邻像素之间。
用差值定义一元函数 f(x) 一阶微分:
用差分定义一元函数 f(x) 的二阶微分:
一阶微分和二阶微分的区别:
(1)一阶微分处理通常会产生较宽的边缘
(2)二阶微分处理对细节有较强的响应,如细线和孤立点
(3)一阶微分处理一般对灰度阶梯有较强的响应
(4)二阶微分处理对灰度阶梯变化产生双响应
(5)二阶微分在图像中灰度值变化相似时,对线的响应要比对阶梯强,且点比线强
大多数应用中,对图像增强来说,二阶微分处理比一阶微分好,因为形成细节的能力强,而一阶微分处理主要用于提取边缘。
二阶微分的图像增强——拉普拉斯算子
二元图像函数 f(x,y) 的拉普拉斯变换定义为:
最简单的各向同性微分算子,并且是一个线性操作。
离散方式:
x 方向
y 方向
故二维拉普拉斯数字实现由以上两个分量相加:
扩展方式:
拉普拉斯微分算子强调图像中灰度的突变,弱化灰度慢变化的区域。这将产生一幅把浅灰色边线、突变点叠加到暗背景中的图像。
将原始图像和拉普拉斯图像叠加在一起的简单方法可以保护拉普拉斯锐化处理的效果,同时又能复原背景信息。因此拉普拉斯算子用于图像增强的基本方法如下:
实际应用中,叠加过程可以简化为:
反锐化掩蔽和高提升滤波处理
长期以来在出版业中使用的图像锐化是将图像模糊形式从原始图像中去除,通过反锐化掩蔽来完成,反锐化掩蔽的基本算法如下:
反锐化掩蔽的进一步普遍形式称为高提升滤波,定义如下:
高提升滤波掩膜:
梯度法——基于一阶微分的图像增强
实际运算时用绝对值代替平方根运算:
Robert 提出的交叉梯度算子 —— Sobel 算子
Gx = (z9 - z5) Gy = (z8 - z6)
3X3 的掩膜:Sobel 算子
梯度处理经常用于工业检测、辅助人工检测缺陷,或者是更为通用的自动检测的预处理。