改善图像的方法
图像增强
· 不考虑图像降质的原因,只将图像中感兴趣的特征有选择的突出,而衰减其次要信息。这类方法称为图像增强技术。
· 本章介绍该类方法,即常用的图像增强技术,平滑与锐化。
图像复原
· 针对图像降质的原因(前提是知道什么原因造成图像降质),设法去补偿降质因素,从而使改善后的图像尽可能的逼近原始图像。
概述与分类
图像增强好坏的标准
· 图像增强是将图像中感兴趣的特征有选择的突出,而衰减其次要信息,从而获得视觉效果更“好”或更“有用”的图像。
· 由于具体应用的目的和要求不同,这里“好”和“有用”的标准也不同。从根本上说,没有判断图像增强好坏的通用标准,观察者是某种增强技术优劣的最终判断者,检查和评价是相当主观的过程。
分类
· 图像增强可能包括:去噪、边缘增强、提高对比度、改善细微层次、改善颜色效果等。
· 根据图像处理所进行的空间不同,图像增强技术可分为空域增强和频域增强。
· 空域增强是直接对图像的像素进行处理。
· 频域增强是修改图像傅里叶变换后的频域数据。
模板操作
· 空域上进行滤波操作都需要依赖于模板运算。
· 使用空间模板进行的图像邻域运算操作,被称为空域滤波。模板本身被称为空域滤波器。
· 模板操作:在待处理的图像中逐点地移动模板,该点的取值通过事先定义的滤波器系数与滤波模板覆盖区域的相应像素值的关系来计算。
模板操作举例
· 例如我们的模板如下,是一个均值滤波器:
· 中间的*表示该元素为中心元素,即该个元素是要进行处理的元素。
· 具体操作为:将原图中一个像素点灰度值与它相邻的8个像素点灰度值相加,然后将求得的平均值作为该像素的灰度值。
· 如果模板如下,则代表把自身灰度值*2之后加上下方元素的灰度值。
· 值得注意的是,通常模板不允许移出边界,所以处理后的新图像会比原图像小,例如:
· 可以看到,操作后的图像有很多-,这代表无法进行模板操作的点,对于这些点一般的做法是复制原图的灰度值,不进行其他处理,最终结果如下:
· 领域运算:某个像素点的结果不仅和本像素灰度有关,还和其邻域点的值有关。
· 可以看到,模板运算实现了领域运算,其实在数学中,模板运算描述的是卷积或卷积相关的运算。
· 注意,模板操作的运算量非常大,非常耗时。因此实际使用的模板最多为3*3,很少使用大模板。
空域平滑滤波
平滑滤波器的作用
· 模糊处理:去除图像中一些不重要的细节。
· 减小噪声。
平滑滤波器的分类
· 线性滤波器:均值平滑滤波。
· 非线性滤波器:中值平滑滤波。
线性滤波定义
· 在M*N的图像f(x, y)上,使用m*n的滤波器w(s, t)有:
其中a=m/2-1,b=n/2-1,w(s, t)是滤波器系数,f(x, y)是图像灰度值。
· 我们可以简化线性滤波的定义为:
其中,w是滤波器系数,z是与该系数对应的图像灰度值,mn为滤波器中包含的像素点总数。
均值滤波器(线性)
· 均值滤波器属于线性滤波。
· 原理:取包含在滤波器(模板)内像素灰度值的平均值。
· 公式:
· 一些例子:
· 均值滤波器的特点有两个:
用于减少图像灰度的“尖锐”变化,减小噪声。
由于图像边缘是由图像灰度尖锐变化引起的,所以也存在边缘模糊的问题。
· 模板尺寸越大,平滑的力度就越大,同时所得到的图像就变得越模糊,所以实际应用的时候,会使用较小的模板来消除噪声。
中值滤波器
· 中值滤波器属于非线性滤波。
· 非线性滤波的结果值直接取决于像素邻域的值,而不使用乘积和的计算。
· 原理:利用像素邻域内的中间值替代该像素,从而实现强迫突出的亮(暗)点更像它周围的值,以消除孤立的亮(暗)点。
· 公式:R=mid\{ z_l | k=1,2,...,n \}
· 算法步骤:
将模板在原图中漫游,并将模板中心与图中某个像素位置重合;
读取模板内各对应像素的灰度值;
对这些灰度值进行排序,找到排在中间的值;
将这个中间值赋给对应模板中心位置的像素。
· 中值滤波器的算法特点有两个:
在去噪的同时,可以比较好地保留边缘的锐度与图像的细节(优于均值滤波器)。
能够有效去除脉冲噪声(椒盐噪声),即孤立的亮(暗)点。
· 举例:
空域锐化滤波
锐化滤波器的作用与分类
· 锐化滤波器可用于:
突出细节:这个细节一般指的是边缘,增强被模糊了的细节。
边缘提取:图像识别中,分割前的边缘提取。
· 锐化滤波器可分为:
一阶微分滤波器:梯度锐化。
二阶微分滤波器:拉普拉斯锐化。
微分滤波器的原理
· 我们刚刚学过均值滤波器,知道均值可以产生平滑效果,而均值的计算过程与积分相似,都是累加求和。
· 由此联想,微分能否产生相反效果,即锐化?答案是肯定的。
一阶微分滤波——梯度锐化
· 在图像处理中,应用微分实现锐化的最简单方式是一阶微分滤波,即计算梯度。
· 在数字图像中,梯度的计算方式如下,因为图像是离散的,因此我们无法求偏导,只能通过近似。
· 对于离散的数字图像f(i, j),点(i, j)处的梯度值可以写成:
· 前面的f(i, j+1)用于近似表达df/dx,即右侧相邻;后面的f(i+1, j)用于近似表达df/dy,即下方相邻。
· 在实际应用中,为了计算方便,我们一般用绝对值替换平方和平方根:
· 除了计算右侧和下方之外,还有另一种梯度近似计算的形式:
· 上面两个公式称为罗伯特(Roberts)梯度。罗伯特梯度算法本身就是一种常用的边缘检测算法。
· 一些例子:
二阶微分滤波——拉普拉斯锐化
· 拉普拉斯锐化是一种采用二阶微分实现的图像锐化方法。
· 对于离散的数字图像f(i, j),点(i, j)处的二阶偏导为:
· 拉普拉斯算子计算公式为:
· 然后,可以使用拉普拉斯算子对图像进行锐化处理,可以看到,是原图像减去k倍的算子,是和原图叠加的:
· 其中k是与图像模糊扩散效应有关的系数,该系数取值要合理。若k过大,图像轮廓边缘会产生过冲,若k过小,锐化效果不明显。
· 一般来说k=1,则锐化公式为:
· 拉普拉斯锐化运算完全可以转换成模板操作来实现,例如,上式对应的拉普拉斯模板就是:
· 除此之外,常用的拉普拉斯模板还有另一种形式:
· 例子:
叠加与否?
· 可以发现,直接使用梯度锐化的时候,我们不会与原图进行叠加,而使用拉普拉斯锐化的时候会与原图进行叠加。
· 这是因为,原图本身曲线下方的面积就大于0,梯度也是,而拉普拉斯的面积为0,所以,原图本身就很大,如果再叠加,可能会超过255的限制,而平均亮度也会变大,但拉普拉斯锐化后与原图叠加则平均亮度不变。
· 因此,在进行多层叠加处理的时候,锐化永远要放最后一步,让其它操作先做。这样可以提高信噪比。
频域滤波概述
为什么要在频域研究图像增强?
· 一些在空域表述困难的增强任务,在频域中会变得非常普通。
· 滤波在频域更为直观,它可以解释空域滤波的某些性质。
傅里叶变换的频率分量和图像空间特征之间的关系
· 变化最慢的频率成分(μ=v=0)对应一幅图像的平均灰度级。
· 当从变换的原点移开时,低频对应着图像的慢变化分量,如图像的平坦光滑部分。
· 进一步离开原点时,较高的频率对应图像中变化越来越快的灰度级,如边缘或噪声等尖锐细节部分。
频域滤波的基本思想
· 通过滤波器函数,以某种方式来修改图像变换(频域),然后通过取结果的反变换来获得处理后的输出图像(空域)。
频域滤波基本步骤
· 用(-1)^{x+y}乘以输入图像进行中心变换。
· 计算变换后的DFT得到F(μ, v)。
· 用滤波器函数H(μ, v)乘以F(μ, v)。
· 计算乘完后的结果的反DFT。
· 得到反变换中结果的实部。
· 用实部除以(-1)^{x+y},取消输入图像的乘数。
频域滤波器函数
· 其中,F(μ, v)是原傅里叶变换后函数,H(μ, v)是滤波器函数,G是输出。
· H和F的相乘是逐元素相乘。
· 一般,F的元素是复数,H的元素是实数。
· H为零相移滤波器,因为滤波器不改变变换的相位,F中实部和虚部的乘数H可抵消。
频域滤波和空域滤波的对应关系
· 若滤波器函数H(μ, v)与h(x, y)构成一对傅里叶变换对,频域乘积实现滤波与空域卷积实现滤波效果等价。
· 给出频域的滤波器H,可以通过傅里叶反变换得到在空域对应的滤波器h,反之亦然。
· 滤波在频域中更为直观,但在空域里使用小的滤波器模板(3*3),滤波速度较快。
· 可以在频域指定滤波器,做反变换,然后在空域使用反变换的结果作为在空域构建小滤波器模板的指导。
频域基本滤波器
· 低通(平滑)滤波器:低频通过而使高频衰减的滤波。被低通滤波的图像比原始图像缺少尖锐的细节部分,而突出平滑过渡的部分。
· 高通(锐化)滤波器:高频通过而使低频衰减的滤波。被高通滤波的图像比原始图像缺少灰度级的平滑过渡,而突出边缘等细节部分。
频域低通(平滑)滤波
概要
· 边缘和噪声等尖锐变化处于傅里叶变换的高频部分。
· 平滑程度可以通过衰减高频成分的范围来实现。
· 分类:
理想低通滤波器(ILPF):滤波器函数阶跃。
巴特沃斯低通滤波器(BLPF):滤波器函数平滑。
高斯低通滤波器(GLPF):处于理想和高斯滤波器之间。
理想低通滤波器(ILPF)
· 定义如下:
· 其中,D_0是零频点,需要自己定义;频率矩形的中心在(μ, v) = (M/2, N/2)处,从点(μ, v)到中心(原点)的距离如下,其实就是一个圆:
· 上述式子表示,截断傅里叶变换中所有高频成分,这些高频成分处于指定距离D_0之外。
· 通过图像可以更直观地看到:
· 在半径为D_0的圆内,所有频率没有衰减地通过滤波器,在半径外,所有频率被完全衰减掉。因此D_0也叫截断频率。
· 之所以叫理想低通滤波器,就是因为它是“理想”的,物理上不可实现,即不能使用实际的电子器件实现。
· 我们把滤波器H做傅里叶反变换得到在空域下的滤波器h,其示意图如下:
· 我们来看ILPF的例子:
· 我们可以得到如下结论,这些结论适用于所有低通滤波器:
当H有很宽的轮廓时,即D_0比较大时,h有很窄的轮廓,反之亦然。当宽度接近无限大时,H趋于常量函数,h趋于冲激函数,即没有滤波。
频域低通滤波器越窄,即D_0越小时,滤除的低频成分就越多,使得图像就越模糊;在空域,这意味着低通滤波器越宽,模板越大。
振铃现象及其成因
· 在上面的例子中,我们可以看到,在图2-4都会出现“振铃”特征,即图像看上去有一圈一圈的波纹;而当被滤去的高频内容减少时,该现象得到缓解,如图5-6。
· 振铃现象产生的直接原因是图像处理(退化)过程中信息量的丢失,尤其是高频信息的丢失。
· 从公式上来说,是傅里叶反变换之后sin余波造成的。
巴特沃斯低通滤波器(BLPF)
· 定义如下,该定义需要记下来:
· 其中,D_0为截止频率距原点的距离,D(μ, v)是点(μ, v)距原点的距离,n是阶数。
· 与ILPF不同的事,BLPF在通带与被滤除的频率之间没有明显的截断,并且物理上可实现。
· 滤波器示意图如下:
· 可以发现,当阶数n越高的时候,就越陡峭,当n趋近于无穷的时候,就退化为理想滤波器。
· 对H做反变换,得到h如下:
· 可以发现,阶数n越低,振铃现象越不明显。因此我们通常选用n=2的二阶BLPF来进行低通滤波。
· 例子如下:
低通滤波器消除虚假轮廓
· 当图像由于量化不足产生虚假轮廓时可用低通滤波进行平滑以改进图像质量。
· 可以看到,理想低通滤波后,虚假轮廓得到改善,但存在明显的振铃;而巴特沃斯低通滤波的结果效果较好。
高斯低通滤波器(GLPF)
· 二维高斯低通滤波器定义如下,需要记下来:
· 其中,D_0为截止频率距原点的距离,D(μ, v)是点(μ, v)距原点的距离,计算公式为D(\mu,v)=\sqrt{(\mu-M/2)^2+(v-N/2)^2}。
· 通过图像我们可以直观地看到:
· 可以看到,随着D_0的增大,曲线越陡峭,截掉的低频区域越大。
· 可以发现:
GLPF不能达到有相同截止频率的BLPF的平滑效果,只能慢慢衰减,无法截止。
GLPF没有振铃效应。
若需要严格控制低频和高频之间的截止频率的过渡,需要选用BLPF,代价是可能产生振铃效应。
· BLPF在实际生产中可用于:
字符识别:通过模糊图像来桥接断裂字符的裂缝。
印刷和出版业:从一幅尖锐的原始图像产生平滑、柔和的外观。
处理卫星和航空图像:尽可能模糊细节,而保留大的可识别特征。
频域高通(锐化)滤波
· 一句话概括,高通滤波器其实就是用1减去低通滤波器。
· 三种低通滤波器对应的高通滤波器及其示意图如下:
理想高通滤波器(LHPF)
· 即截断傅里叶变换中所以低频成分,这些低频成分处于截断距离D_0之内。
· 定义如下:
· 同样,频率矩形的中心在(μ, v)=(M/2, N/2),从点(μ, v)到原点的距离为D(\mu,v)=\sqrt{(\mu-M/2)^2+(v-N/2)^2}。
· 举例:
· 可以看到,第一个图与第二个图的振铃现象非常明显。
巴特沃斯高通滤波器(BHPF)
· n阶巴特沃斯高通滤波器定义如下:
· 同样,D_0为截止频率距原点的距离,D(μ, v)是点(μ, v)距原点的距离,计算公式为D(\mu,v)=\sqrt{(\mu-M/2)^2+(v-N/2)^2}。
· 举例:
· 可以看到,BHPF结果比IHPF的结果平滑很多。
高斯高通滤波器(GHPF)
· 二维高斯高通滤波器定义如下:
· 同样,D_0为截止频率距原点的距离,D(μ, v)是点(μ, v)距原点的距离,计算公式为D(\mu,v)=\sqrt{(\mu-M/2)^2+(v-N/2)^2}。
· 举例:
· 同样,GHPF的结果比IHPF的要更加平滑。
频域高频增强滤波
· 为啥要做高频增强滤波?因为高频滤波后的图像,其背景平均灰度减小到接近黑色,图像很昏暗,因为高通滤波器滤掉了零频部分:
· 而解决办法,就是把原始图像叠加到过滤后的结果,类似前面拉普拉斯算子增强的做法,这种处理就是高频增强滤波。
· 频域高频增强滤波器定义为:
· 其中A是放大系数,H是高通滤波器,当A>1,原始图像一部分与高通图像增加,恢复了部分高通滤波时丢失的低频分量。
· 更进一步,如果把原始图像乘以放大系数A,再减去低通图像亦可构成高频增强滤波器,证明如下:
· 我们来看看普通高频滤波与高频增强滤波的对比:
· 高频增强滤波可以用于胸部X光图像等:
补充考题
· 用像素点(x, y)的4-近邻域,不包括(x, y)本身:
构成低通滤波器?拉普拉斯算子?
写出它在频域里等价的滤波器函数H(μ, v)?