精编完整版图像的运动模糊及滤波恢复毕业论文.docx
《精编完整版图像的运动模糊及滤波恢复毕业论文.docx》由会员分享,可在线阅读,更多相关《精编完整版图像的运动模糊及滤波恢复毕业论文.docx(20页珍藏版)》请在冰豆网上搜索。
精编完整版图像的运动模糊及滤波恢复毕业论文
目录
摘要I
1绪论1
2图像的噪声与退化2
2.1图像的噪声2
2.2图像的退化模型3
2.2.1一般退化模型3
2.2.2匀速直线运动模糊图像的退化模型5
2.3点扩展函数5
2.4图像的运动模糊处理6
3运动模糊图像的恢复8
3.1运动模糊退化函数的参数估计8
3.2运动模糊图像复原方法10
3.2.1逆滤波10
3.2.2维纳滤波11
4运动模糊图像恢复实现13
4.1逆滤波恢复实现13
4.2维纳滤波恢复实现14
5振铃效应17
6心得体会18
参考文献19
摘要
图像复原技术也常被称为图像恢复技术,图像恢复技术能够去除或减轻在获取数字图像过程中发生的图像质量下降(退化)问题,从而使图像尽可能地接近于真实的场景。
在拍摄过程中,相机和景物的相对运动会导致运动模糊,这种运动模糊现象是成像过程中普遍存在的,例如:
在飞机或太空飞行器上拍摄的照片、战场上高速飞行的物体的运动照片。
运动模糊图像的恢复是图像恢复的主要研究课题之一,其具有重要的现实意义。
目前对于运动模糊图像的恢复研究主要是针对于水平方向的匀速运动产生的模糊图像,尝试使用各种图像恢复方法对图像进行恢复处理。
而对于诸如运动模糊图像的退化过程、点扩展函数的建立以及任意直线方向运动模糊图像的恢复、仿真图像的正确生成等问题需要进一步的深入和关注。
运动模糊图像产生的原因有很多,但根本原因都是因为在曝光时间内所拍摄的景物和相机的图像传感器之间发生了相对位置移动,一般这种相对运动用点扩散函数(pointspreadfunction,PSF)或运动模糊核来描述,这种相对位置移动有两种情况,一种是所拍摄的景物在相机曝光时间内相对于相机有相对运动,或者相机相对于所拍摄物体有旋转,这种情况下整幅照片不能用统一的PSF来描述;另一种情况是相机曝光时间内所拍摄的景物及背景之间没有相对运动,并且相机相对于所拍摄的景物没有旋转,此时整幅运动模糊图像具有统一或者近似统一的PSF。
对于退化的复原,一般采用两种方法,一种方法适用于对图像缺乏先验知识的情况,此时可以对退化过程建立模型,进行描述,进而寻找一种去除或消弱其影响的过程;另一方面,若对于原始图像有足够的先验知识,则对原始图像建立一个数学模型,并根据它对退化图像进行拟合会更有效。
本文则主要针对图像的运动模糊来进行逆滤波和维纳滤波方面的研究。
关键字:
图像的运动模糊维纳滤波逆滤波
1绪论
图像复原是图像处理中的重要内容,它的主要目的就是改善图像的质量,研究如何从所得到的变质图像中复原出真实的图像,或说是研究如何从获得的信息中反演出有关真实目标的信息。
从历史来看,数字图像处理研究有很大部分是在图像恢复方面进行的,包括对算法的研究和针对特定问题的图像处理程序的编写。
数字图像处理中很多值得注意的成就就是在这方面取得的。
近年来,在数字图像领域,关于运动模糊图像的复原问题成为了国内外研究的热点问题之一,也出现了一些行之有效的算法和方法,但是这些算法和方法在不同的情况下具有不同的复原效果,因为这些算法都是在作者假定的前提情况下提出的,而实际上的模糊图像,并不一定能够满足这些算法的前提,或者只能满足其中的一部分前提。
作为一个使用的图像复原系统,就得提供多种复原算法,使用户可以根据情况来选择最适当的算法以得到做最好的复原效果。
运动造成图像的退化是非常普遍的现象,例如无人侦察机在高速运动中进行拍摄,由于振动、飞机的运动及相机的摆动等原因使相机在曝光时被照物影像与感光介质之间存在相对运动,这种相对运动会造成图像的模糊,使图像产生拖尾效应,极大地影响了相机的成像质量,这种图像会造成目标很难识别或无法提取,所以必须对其进行恢复。
除此之外,对于运动模糊图像的复原方法研究具有非常大的现实意义,因为运动模糊图像在日常生活中普遍存在,给人们的实际生活带来了很多不变甚至是危及人的生命安全,一个典型的例子就是随着我国经济迅速发展,城市中的汽车越来越多,汽车的增加引发了很多交通事故,其中一个很重要的原因就是有些司机缺乏交通安全意识,在灯控路口乱闯红灯或超速行驶,这些交通事故不仅危害到人们的生命安全,而且给国家带来了大量的经济损失。
现在很多城市的重要交通路口都设置了“电子眼”交通监视系统,它能够及时记录下闯红灯车辆的车牌号,由于车辆在闯红灯时速度较高,所以摄像机摄取的画面有时是模糊的,这就需要运用运动模糊图像复原技术进行图像复原,所以很有必要对运动模糊图像的恢复做深入的研究。
2图像的噪声与退化
2.1图像的噪声
噪声可以理解为妨碍人的视觉器官或传感器对所接受图像源信息进行理解或分析的各种因素。
一般噪声是不可预测的随机信号,它只能用概率统计的方法去认识。
噪声对运动模糊图像处理的各种环节以及输出结果的全过程都有影响。
因此,一个良好的图像处理系统不论是模拟处理还是计算机处理无不把减少噪声作为主攻目标,去噪已经成为运动模糊图像处理中的极其重要的步骤,也是图像处理的一个研究重点。
按照不同的分类方式,可以对噪声按以下几种方法分类:
(1)按干扰源分类
图像噪声按其干扰源可分为外部噪声和内部噪声。
外部噪声是指从处理系统外来的影响,如天线干扰或电磁波从电源线串入系统的噪声。
内部噪声主要有四种基本形式。
1)由光和电的基本性质引起:
如电流可看作电子或空穴运动,这些粒子运动产生随机散粒噪声;导体中电子流动的热噪声;光量子运动的光量子噪声等。
2)机械运动产生的噪声:
接头震动使电流不稳,磁头或磁带、磁盘抖动等。
3)元器件噪声:
如光学底片的颗粒噪声,磁带、磁盘缺陷噪声,光盘的疵点噪声等。
4)系统内部电路噪声:
如CRT的偏转电路二次发射电子等噪声。
(2)按对信号的影响分类
按噪声对信号的影响可分为加性噪声和乘法噪声两大类。
设f(x,y)为信号,n(x,y)为噪声,影响信号后的输出为g(x,y)。
1)加性噪声
g(x,y)=f(x,y)+n(x,y)(2-1)
形成的波形是噪声和信号的叠加,其特点是n(x,y)和信号无关,如一般的电子线性放大器的噪声。
不论输入信号大小,其输出总是与噪声相叠加。
2)乘性噪声
g(x,y)=f(x,y)[1+n(x,y)]=f(x,y)+f(x,y)n(x,y)(2-2)
其输出是两部分的叠加,第二个噪声项信号受f(x,y)的影响,f(x,y)越大则第二项越大,即噪声项受信号的调制。
如光量子噪声、底片颗粒噪声都随信号增大而增大。
乘性噪声模型和分析计算都比较复杂,当信号变化很小时,第二项近似不变,此时可用加性噪声模型来处理。
通常总是假定信号和噪声是相互独立的。
(3)按统计特征分类
从噪声的幅度分布的统计特性来看又可以分为以下几种:
白噪声(WhiteNoise):
它具有常量的功率谱。
白噪声的一个特例是高斯噪声(GaussianNoise)。
它的直方图曲线服从一维的高斯型分布:
(2-3)
椒盐噪声(PepperNoise):
是一种在图像中产生黑、白点的脉冲噪声。
该噪声在图像中显现较为明显,对图像分割、边缘检测、特征提取等后续处理具有很严重的破坏作用。
冲击噪声(ImpulsiveNoise):
是指一副图像被个别噪声像素破坏,而且这些像素的亮度与其邻域的显著不同。
量化噪声(QuatizationNoise):
在量化级别不同时出现的噪声。
例如将图像的亮度级别减少一半的时候会出现伪轮廓。
2.2图像的退化模型
2.2.1一般退化模型
对于一幅图像来说,在使用数学方法表示它的信息时,可以将其看作是空间每个坐标点上强度的集合。
图像最普遍的表达式可记为:
I=f(x,y,z,λ,t)(2-4)
该式中(x,y,z)表示空间坐标,λ表示波长,t表示时间,I表示图像的强度。
此式能代表一幅活动的、立体的、彩色图像。
如果研究的图像是静止的,很明显式(2-4)与时间t没有关系;若对于图像是单色的情况,I与波长λ显然没有关系,而平面图像显然与坐标z没有关系。
于是,对于一幅静止的、平面的、单色图像而言,可以将其描述为:
I=f(x,y)(2-5)
基于这样的数学表达式,可建立的图像退化模型如图2.1所示:
图2.1图像退化模型
其中,g(x,y)表示一幅退化之后的图像,f(x,y)代表原始清晰图像,H为退化系统,n(x,y)指的是加性噪声。
如果已知了退化图像g(x,y)并估计出退化系统H的参数,就可以近似地恢复出f(x,y)。
对于图2.1所描述的退化系统来说,可通过式(2-6)来表示出来:
g(x,y)=H•[f(x,y)]+n(x,y)(2-6)
如果暂且不考虑加性噪声n(x,y)的影响,即令n(x,y)=0时,则式(2-6)就变为:
g(x,y)=H•[f(x,y)](2-7)
当输入信号为f1(x,y)、f2(x,y)时,所对应的输出信号为g1(x,y)、g2(x,y),如果通过系统后可以使下式成立:
H·[k1f1(x,y)+k2f2(x,y)]=H·[k1f1(x,y)]+H·[k2f2(x,y)]
=k1g1(x,y)+k2g2(x,y)(2-8)
那么,可以说系统H就是一个线性系统。
其中k1,k2为常数。
对于一维函数来说,如果一个系统的参数不会随时间的变化而改变,那么该系统为时不变系统或者非时变系统;否则就称之为时变系统。
相对应的,在二维函数中,如果满足:
H[f(x-α,y-β)]=g(x-α,y-β)(2-9)
那么H就是空间不变系统,式中的α和β分别代表空间位置的位移量,式(2-9)表明图像中任一点经过该系统后的响应只依赖于其输入值的大小,而和该点的位置没有关系。
在进行图像复原处理时,虽然实际中的空间变化、非线性的系统模型更具有准确性和普遍性,但常常出现没有解的情况或者很难通过计算机来处理,给具体工作带来很大的困难,所以一般采用线性和空间不变的系统模型。
对于一个线性系统而言,完全可以使用其冲激响应来表征,从而达到简化问题的效果。
当系统为时不变时,则有
H·δ(x-α,y-β)=.tif’),来观察图像的相关属性,结果图如图2.3示:
图2.3图像属性图
设置模糊长度为20,模糊角度为45度,对所选图像进行运动模糊加噪处理,程序如下:
I=imread('man.tif');
figure
(1);subplot(2,2,1);imshow(I,[]);title('原图像');
PSF=fspecial('motion',20,45);%表示物体逆时针方向以45度角度运动了20个像素
MF=imfilter(I,PSF,'circular');
subplot(2,2,2);imshow(MF,[]);title('运动模糊图像');
noise=imnoise(zeros(size(I)),'gaussian',0,0.001);
MFN=imadd(MF,im2uint8(noise));
subplot(2,2,3);imshow(MFN,[]);title('运动模糊加噪图像');
结果图如图2.4所示:
图2.4模糊参数为20、45的运动模糊图像
3运动模糊图像的恢复
图像复原是通过计算机处理,对质量下降的图像加以重建或恢复的处理过程,因摄像机与物体的相对运动、系统误差、畸变、噪声等因素的影响,使图像往往不是真实景物的完善图像。
在图像复原中,需建立造成图像质量下降的退化模型,然后运用相反过程来恢复原来的图像,并运用给一定的准则来判定是否得到图像的最佳复原。
图像复原的一般过程可用图3.1表示。
图3.1图像复原的流程
3.1运动模糊退化函数的参数估计
运动模糊的处理可以从两方面着手,一方面是从空间域的角度,另外一方面就是从频域的角度来估计参数。
前者的理论基础是:
由于图像的运动导致了图像的边缘信息大量丢失,而图像的边缘在图像频谱中是属于高频成分的,也就是运动模糊导致了高频成分的丢失。
因此对运动模糊图像进行方向微分,灰度值最小的方向即为我们要找的模糊方向,最后用自相关的方法来确定模糊长度。
后者则是从大量运动图像的频谱中可以观察到:
运动模糊图像的频谱会呈现出明暗相间的条纹,其中暗条纹的倾斜角刚好与模糊方向之和为90度,暗条纹的个数与模糊长度差1,当然这只是对于长和宽相等的图像来说的。
下面我们来观察不同运动方向下图像的频谱图。
选择一副256级的灰度图像,对此图像进行模糊长度为10,方向分别为00和450的运动模糊处理,然后分别求其运动模糊处理后图像的频谱图,参考程序如下:
I=imread('man.tif');
figure;subplot(2,2,1);imshow(I,[]);
title('原图像');
PSF=fspecial('motion',10,0);
MFN=imfilter(I,PSF,'circular');
subplot(2,2,2);imshow(MFN,[]);
title('运动模糊图像');
s=fft2(MFN);
e=fftshift(s);%将变换后图像频谱中心从矩阵的原点移动到矩阵的中心
A=abs(e);%得到图像的幅度谱
B=log(1+A);
subplot(2,2,3);imshow(B,[]);
上述程序是角度为00时的程序,若要编写模糊角度为450的程序,只需要将上述程序的第四行最后一个参数改为45就可以了。
结果图如图3.2和图3.3所示:
图3.2模糊角度为00时的频谱图
图3.3模糊角度为450时的频谱图
从上面的图形可以看出,频谱中出现了明暗相间的条纹,而且随着模糊角度的不同,图像频谱中暗条纹的方向也不一样,我们要做的就是提取其倾斜角,估计其运动模糊的角度参数,观察期暗条纹的个数,估计其模糊长度。
根据这种在频域的方式来进行的估计,比较简便,但是此方法具有一定的缺陷,那就是模糊长度较大时,不能准确地估计模糊长度,并且在角度估计时会有一定的误差。
特别是当图像收到噪声的影响时估计误差更大。
3.2运动模糊图像复原方法
3.2.1逆滤波
逆滤波复原也称为反向滤波法,是一种简单直接的无约束图像复原方法,其基本原理为:
在假设不受噪声影响的理想情况下,用退化图像的傅里叶变换G(u,v)除以退化系统的传递函数H(u,v),得到原始图像的傅里叶变换F(u,v),然后对F(u,v)进行傅里叶反变换就可以得到原始图像f(x,y)。
根据图像的退化模型式(2-12)可得其傅里叶变换为:
G(u,v)=H(u,v)F(u,v)+N(u,v)(3-1)
即
(3-2)
式中,G(u,v)、F(u,v)、H(u,v)、N(u,v)分别是g(x,y)、f(x,y)、(x,y)的傅里叶变换,而H(u,v)为系统的传递函数。
在忽略噪声影响时,退化模型的傅里叶变换可以简化为:
G(u,v)=H(u,v)F(u,v)(3-3)
即
(3-4)
从逆滤波算法的基本处理过程可以看出,该方法的最大特点就是通过FFT来实现,运算速度很快,比较适合大尺寸的二维图像。
实际上即便知道了退化函数H(u,v),也未必准确地恢复出原图像。
因为N(u,v)是一个随机函数,不知道它的傅立叶变换。
另外,在用逆滤波法复原图像时会出现一个问题:
由于u,v平面上有些点或区域会使得H(u,v)=0,或者当H(u,v)非常小时,即使没有噪声也无法精确恢复原图像。
在有噪声时,在H(u,v)的领域内,H(u,v)的值可能会比N(u,v)小很多,此时N(u,v)H(u,v)就会变的很大,噪声被放大了很多,那么图像的复原效果就会很差。
如果H(u,v)有零点,那么在H(u,v)零点处,
N(u,v)H(u,v)就趋近于无穷大,公式就失去了意义,呈现病态,因此在这些点的图像无法得到正确复原。
因为逆滤波复原方法存在病态问题,所以一般适用于信噪比很高的模糊图像恢复中。
实际上,逆滤波法不能正确地估计H(u,v)的零点,所以必须采用一个折中的方法加以解决。
一般情况下,H(u,v)会随着u,v与原点距离的变大而下降得很快,而噪声N(u,v)的幅度变化通常是较缓慢的。
在这种情况下,在远离u,v平面的原点时N(u,v)H(u,v)的值会变得很大,然而对于大多数图像而言F(u,v)却会变小,也就是说噪声反而占了优势,复原只能在与原点较近(接近频域中心)的范围内进行,那么得到的复原结果自然无法令人满意。
3.2.2维纳滤波
逆滤波复原法对噪声极为敏感,要求信噪比较高,通常不满足该条件,因此希望找到一种方法,在有噪声的条件下,从退化图像复原出原图像的估计值,此时就要用到维纳滤波,也可称为最小乘方滤波,或者最小均方差滤波,它是一种原始图像与复原图像之间的均方误差最小的图像复原方法。
维纳滤波的基本思想是:
认为图像和噪声是随机过程,在这个前提下寻找一个原图像的近似估计值,使得两者之间的均方误差达到最小值。
均方误差的表示如下式:
(3-5)
在频率域上,式(3-5)的误差函数的最小值可用下式来计算:
(3-6)
式(3-6)称为维纳滤波,括号中的项组成的滤波器通常称为最小均方误差滤波器。
从上式可以看出,维纳滤波防止了退化函数等于零的问题出现(除非对于相同的v值,H(u,v)和Sn(u,v)都是0),从而不会出现逆滤波复原的病态问题。
式中的各项函数说明如下:
H(u,v):
退化函数
H*(u,v):
H(u,v)的复共轭
|H(u,v)|2:
H*(u,v)和H(u,v)的乘积
Sf(u,v):
原图像的功率谱
Sn(u,v):
噪声的功率谱
G(u,v):
退化图像的傅里叶变换
当图像中没有噪声时,维纳滤波退化为逆滤波。
在实际的应用过程中,往往不知道原图像及噪声的功率谱,并且估计起来十分困难,所以通常使用一个特殊的常量K来表示图像的信噪比。
那么维纳滤波可以近似表达为:
(3-7)
虽然维纳滤波避免了逆滤波处理的病态问题,但是在针对具体的问题时,有时获得的效果却达不到要求,因为维纳滤波是以假定图像退化模型是线性系统为基础的,然而实际上图像的存储以及进行主观评价的视觉系统一般情况下都是非线性的,而且维纳滤波的准则在某种程度上并一定和人类的视觉判断准则相一致,人眼对暗处以及高梯度区域的误差在很大程度上能够承受,然而均方差准则对所有的误差所加的权值是相同的,即对图像进行的这种平滑并非是最适合人眼的。
4运动模糊图像恢复实现
4.1逆滤波恢复实现
首先,将该部分的图像分为加噪和不加噪的运动模糊图像,分别对其进行逆滤波,比较两种不同情况下逆滤波的恢复效果。
程序编写如下:
I=imread('man.tif');
[m,n]=size(I);
F=fftshift(fft2(I));
k=0.0025;
foru=1:
m
forv=1:
n
H(u,v)=exp((-k)*(((u-m2)^2+(v-n2)^2)^(56)));
end
end
G=F.*H;
I0=real(ifft2(fftshift(G)));subplot(2,2,1);imshow(I0,[]);title('不加噪运动模糊图像');
F0=fftshift(fft2(I0));
F1=F0.H;
I1=ifft2(fftshift(F1));
subplot(2,2,2);imshow(uint8(I1));title('不加噪全逆滤波复原图');
I2=imnoise(uint8(I0),'gaussian',0,0.001);
subplot(2,2,3);imshow(uint8(I2));title('模糊退化且添加高斯噪声的图像');
F2=fftshift(fft2(I2));
F3=F2.H;
I3=ifft2(fftshift(F3));
subplot(2,2,4);imshow(uint8(I3));title('加噪全逆滤波复原图');
结果图如图4.1所示:
图4.1逆滤波恢复图
由图4.1可知,运动模糊图像不被噪声干扰时,进行逆滤波恢复能得到较好的结构,但是模糊图像如果受到噪声的干扰,则逆滤波就不再试用了,不能得到理想的结果。
4.2维纳滤波恢复实现
用维纳滤波复原图像时,主要的任务是估计K值得大小,一般情况下K值可取经验值或者通过人机对话进行手工调节,前者虽然实施起来比较简单但是复原效果不是很好,后者复原效果要好一些。
下面将对运动模糊加噪的图像进行维纳滤波处理。
利用第二种方法得到K的值最好在0.001左右,下面取两个K值对图像进行维纳滤波,根据维纳滤波表达式编写程序如下:
Blurred=imread('man.tif');
subplot(2,2,1);imshow(Blurred);title('原图像');
%自编函数进行维纳滤波%
k=0.0025;
[m,n]=size(Blurred);
F=fftshift(fft2(Blurred));
spectrum=zeros(m,n);
H=zeros(m,n);
foru=1:
m
forv=1:
n
H(u,v)=exp((-k)*(((u-m2)^2+(v-n2)^2)^(56)));
spectrum(u.v)=(abs(H(u,v)))^2;
end
end
G=F.*H;
I0=real(ifft2(fftshift(G)));
I1=imnoise(uint8(I0),'gaussian',0,0.001);
subplot(2,2,2);imshow(uint8(I1));title('模糊退化且添加高斯噪声的图像');
f=double(I1);
F1=fftshift(fft2(f));
HW=spectrum(H(u,v)*(spectrum+0.001));
restore1=HW.*F1;
restored=real(ifft2(ifftshift(restore1)));
subplot(2,2,3);imshow(restored,[]);title('K=0.001自编函数进行维纳滤波');
HW1=spectrum(H(u,v)*(spectrum+0.3));
restore2=HW1.*F1;
restored3=real(ifft2(ifftshift(restore2)));
subplot(2,2,4);imshow(restored3,[]);title('K=0.3自编函数进行维纳滤波');
结果图如图4.2所示:
图4.2维纳滤波恢复图
由图4.2所知,选择不同的K值对运动模糊图像的维纳滤波处理会造成一定程度上的影响,所以在进行维纳滤波时,要注意K值得选取。
而从另外一方面可以得知,运动模糊加噪后的图像进行维纳滤波的效果比逆滤波的效果好得多,所以这种最小均方误差滤波的方法可以适用于加噪干扰的信号恢复。
5振铃效应
运动导致图像模糊本质就是对原始图像进行对点平滑的过程,在数学上这个过程叫做卷积,所以图像复原就是去卷积(也称为逆卷积)。
在