图像退化与复原
- 格式:docx
- 大小:23.88 KB
- 文档页数:14
数字图像的退化与复原1. 实验目的(1) 掌握数字图像的存取与显示方法。
(2) 理解数字图像运动模糊、高斯模糊以及其他噪声引起模糊(图像降质现象)的物理本质。
(3)掌握matlab的开发环境。
(4)掌握降质图像的逆滤波复原和维纳滤波复原方法。
2. 实验原理此实验是对数字图像处理课程的一个高级操作。
在深入理解与掌握数字图像退化的基础理论上,利用逆滤波与维纳滤波方法对数字图像进行复原。
(1) 图像的退化数字图像在获取过程中,由于光学系统的像差、光学成像衍射、成像系统的非线性畸变、成像过程的相对运动、环境随机噪声等原因,图像会产生一定程度的退化。
(2) 图像的复原图像复原是利用图像退化现象的某种先验知识,建立退化现象的数学模型,再根据模型进行反向的推演运算,以恢复原来的景物图像。
因而图像复原可以理解为图像降质过程的反向过程。
(3) 图像降质的数学模型图像复原处理的关键问题在于建立退化模型。
输入图像f(x,y)经过某个退化系统后输出的是一幅退化的图像。
为了讨论方便,把噪声引起的退化即噪声对图像的影响一般作为加性噪声考虑。
原始图像f(x,y)经过一个退化算子或退化系统H(x,y)的作用,再和噪声n(x,y)进行叠加,形成退化后的图像g(x,y)。
图1表示退化过程的输入和输出关系,其中H(x,y)概括了退化系统的物理过程,就是要寻找的退化数学模型。
图1 图像的退化模型数字图像的图像恢复问题可以看作是:根据退化图像g(x,y)和退化算子H(x,y)的形式,沿着反向过程去求解原始图像f(x,y)。
图像退化的过程可以用数学表达式写成如下形式:g(x,y)=H[f(x,y)]+n(x,y) (1)在这里,n(x,y)是一种统计性质的信息。
在实际应用中,往往假设噪声是白噪声,即它的频谱密度为常熟,并且与图像不相关。
在对退化系统进行了线性系统和空间不变系统的近似之后,连续函数的退化模型在空域中可以写成:g(x,y)=f(x,y)*h(x,y)+n(x,y) (2)在频域中可以写成:G(u,v)=F(u,v)H(u,v)+N(u,v) (3)其中,G(u,v)、F(u,v)、N(u,v)分别是退化图像g(x,y)、原图像f(x,y)、噪声信号n(x,y)的傅立叶变换;H(u,v)是系统的点冲击响应函数h(x,y)的傅立叶变换,称为系统在频率域上的传递函数。
4记录和整理实验报告。
图像降质的数学模型图像复原处理的关键问题在于建立退化模型。
输入图像f(x, y)经过某个退化系统后输出的是一幅退化的图像。
为了讨论方便,把噪声引起的退化即噪声对图像的影响一般作为加性噪声考虑,这也与许多实际应用情况一致,如图像数字化时的量化噪声、随机噪声等就可以作为加性噪声,即使不是加性噪声而是乘性噪声,也可以用对数方式将其转化为相加形式。
原始图像f(x,y)经过一个退化算子或退化系统H(x,y)的作用,再和噪声n(x,y)进行叠加,形成退化后的图像g(x,y)。
图2-1表示退化过程的输入和输出的关系,其中H(x,y)概括了退化系统的物理过程,就是所要寻找的退化数学模型。
图2-1图像的退化模型数字图像的图像恢复问题可看作是:根据退化图像g(x/Y)和退化算子H(x,y)f(x,y) ------------- ^(x,y)的形式,沿着反向过程去求解原始图像f(x,y),或者说是逆向地寻找原始图像的最佳近似佔讣。
图像退化的过程可以用数学表达式写成如下的形式:g(x,y)=H[f(x, y)] +n(x, y) (2-1)在这里,n(x,y)是一种统计性质的信息。
在实际应用中,往往假设噪声是白噪声,即它的频谱密度为常数,并且与图像不相关。
在图像复原处理中,尽管非线性、时变和空间变化的系统模型更具有普遍性和准确性,更与复杂的退化环境相接近,但它给实际处理工作带来了巨大的困难,常常找不到解或者很难用计算机来处理。
因此,在图像复原处理中,往往用线性系统和空间不变系统模型来加以近似。
这种近似的优点使得线性系统中的许多理论可直接用于解决图像复原问题,同时乂不失可用性。
匀速直线运动模糊的退化模型在所有的运动模糊中,山匀速直线运动造成图象模糊的复原问题更具有一 般性和普遍意义。
因为变速的、非直线运动在某些条件下可以被分解为分段匀速 直线运动。
本节只讨论山水平匀速直线运动而产生的运动模糊。
假设图象/Cv,y)有一个平面运动,令兀«)和几(“分别为在x 和y 方向上 运动的变化分量,T 表示运动的时间。
多重退化图像复原研究随着现代科技的发展,图像处理技术在各个领域得到了广泛应用。
然而,由于各种原因,图像可能会遭受不同程度的退化,如模糊、噪声、失真等。
为了恢复图像的质量和清晰度,应运而生。
旨在通过算法和技术,对经过多种退化的图像进行恢复和修复,使其恢复到原始的清晰状态。
这项研究具有重要的理论意义和实际应用价值。
对于科学研究领域来说,多重退化图像复原研究可以帮助人们更好地理解图像退化的机理和规律,推动图像处理技术的发展;对于应用领域来说,多重退化图像复原研究可以提高图像的质量和清晰度,为人们提供更好的视觉体验。
多重退化图像复原研究的关键问题是如何准确地模拟和分析图像的多种退化过程,并提出有效的复原算法。
首先,研究人员需要深入研究不同类型的图像退化过程,如模糊、噪声、失真等,探究其退化机理和特点。
其次,研究人员需要建立适用于不同退化过程的数学模型,以便更好地理解和分析图像的退化过程。
然后,研究人员需要提出相应的复原算法,通过修复图像的局部信息或利用先验知识恢复整个图像。
最后,研究人员需要评估和验证复原算法的有效性和性能,以确保其能够准确地复原多重退化图像。
近年来,多重退化图像复原研究取得了一系列重要成果。
研究人员提出了各种复原算法,如基于模型的方法、基于学习的方法、基于先验知识的方法等。
这些算法在各种退化图像的复原中取得了显著的效果,并得到了广泛的应用。
同时,研究人员还积极探索新的研究方向,如深度学习、图像增强等,以进一步提高多重退化图像复原的效果和性能。
总之,多重退化图像复原研究在图像处理领域具有重要的理论意义和实际应用价值。
通过深入研究图像的退化过程和提出有效的复原算法,可以提高图像的质量和清晰度,为人们提供更好的视觉体验。
相信随着科技的不断发展,多重退化图像复原研究将会取得更加突破性的进展,为图像处理技术的发展做出更大的贡献。
电子科技大学实验报告学生姓名:李雄风学号:2905301014指导老师:彭真明日期:2012年4月12日光电楼327、329学生机房二、实验项目名称:图像退化与复原三、实验原理:1.图像退化与复原图像复原是图像处理的主要内容之一,所谓图像复原就是指去除或减轻在图像获取过程中发生的图像质量的下降。
成像过程中的图像“退化”,是指由于成像系统各种因素的影响,使得图像质量降低。
图像复原可以看作图像退化的逆过程,是将图像退化的过程加以估计,建立退化的数学模型后,补偿退化过程造成的失真。
图像在形成、传输和记录过程中,由于受到多方面的影响,不可避免地造成图像质量的退化(degradation)。
造成图像退化的原因很多,主要有:•射线辐射、大气湍流等造成的照片畸变;•模拟图像数字化的过程中,由于会损失部分细节,造成质量下降;•镜头聚焦不准产生的散焦模糊;•成像系统中始终存在的噪声干扰;•拍摄时,相机与景物之间的相对运动产生的运动模糊;•底片感光、图像显示时会造成记录显示失真;•成像系统的像差、非线性畸变、有限带宽等造成的图像失真;•携带遥感仪器的飞机或卫星运动的不稳定,以及地球自转等因素引起的照片几何失真。
2.维纳(Wiener)滤波掌握图像f和噪声n的准确先验知识是非常困难的,一种较为合理的假设是将它们近似的看成是平稳随机过程。
假设和表示f和n的自相关矩阵,其定义为:式中,E{•}代表数学期望。
定义,得:假设M=N,和分别为图像信号和噪声的功率谱,则:式中,,。
四、实验目的:1.了解光电图像的退化原因和熟悉退化模型;2.掌握和理解基本的噪声模型及运动模糊退化过程;3.熟悉和掌握几种经典的图像复原方法及其基本原理;4.能熟练利用Matlab工具进行图像的各种退化处理,并能编程实现退化图像的复原。
1.滤波器设计及图像滤波实验;2.基于Wiener滤波的图像复原。
六、实验器材(设备、元器件):微型计算机、Matlab工具及相应的开发环境。
实验名称:图像退化与复原实验目的1. 了解光电图像的退化原因;2. 掌握和理解基本的噪声模型,并能对图像进行加噪处理;3. 了解点扩展函数(PSF)与光学传递函数(OTF)的关系,熟悉几种经典的退化模型的模拟试验和OTF估计方法;4. 熟悉和掌握几种经典的图像复原方法及其基本原理;5. 能熟练利用MATLAB或C/C++工具进行图像的各种退化处理,并能编程实现退化图像的复原。
实验原理光电成像系统出现图像退化的过程是复杂多变的,为了研究的需要,通常情况下都把退化简化为化为一个线性移不变过程,见下图1所示。
f(工,v)I I 厂、冒(工J)了=0退化函数H = --------------- U + t——复原滤波器I------- 曝声V I ------------------- II "(3)I II 」I I! 降质过程I 屯原!图i光电图像退化与复原原理图因此,在空域中退化过程可以表示如下:g (x,y) = f (x,y) * h(x,y) + h(x,y)只有加性噪声不存在情况下,退化过程可以模型化如下表达式:g(x,y) = f (x,y) + h(x,y)其频域表达式为:G(u,v) =F(u,v)+N(u, v)针对这种退化图像的复原,除了周期噪声以外,通常都可以采用空间域滤波的方法进行图像复原,此时图像复原与图像增强几乎是没有区别的。
常见的空间 域滤波方法有均值滤波器和统计排序滤波器。
当退化图像存在线性移不变退化时, 图像的复原不能采用简单空间域滤波器 来实现,要实现线性移不变退化图像的复原, 必须知道退化系统的退化函数,即 点扩展函数h(x,y)。
在点扩展函数已知的情况下,常见图像复原方法有逆滤波 和维纳滤波两种。
在考虑噪声的情况下,逆滤波的原理可以表示如下: F (")二^^= F(u,v)+^) H(u,v) ' / H(u,v) 通常情况下,N(u,v)是未知的,因此即使知道退化模型也不能复原图像 此外,当H (u,v )的任何元素为零或者值很小时,N (u,v )/H (u,v )的比值决定 着复原的结果,从而导致图像复原结果出现畸变。
对丁这种情况, 通常采用限制 滤波频率使其难以接近原点值,从而减少遇到零值的可能性。
维纳滤波则克服了逆滤波的缺点,其数学模型表示如下: F(u ,v)顼|H *(u,v)「 2(u,v)H (u,v) + S h(u,v)/S f(u,v)G(u,v)然而,为退化图像的功率谱很少是已知的,因此常常用下面表达式近似:F(u,v) = & 1 |H *(u,v)|2:扩声 |H (u,v)|2+ kG(u,v)因此,本实验的内容就是利用上述经典图像复原的原理,对降质退化图像进 行复原。
四.实验步骤本次实验主要包括光电图像的退化模型和复原方法实现两大部分内容。
(一)图像的退化图像 1、大气湍流的建模1) 湍流引起图像退化的光学传递函数(OTF生成。
已知湍流退化模型的OTF表达式如下:H (u,v) = exp[-k(u2 + v2)5/6 ] (7)其中,k为一个常数,反映了大气湍流的严重程度。
(u,v)分别代表了(x,y )方向的频率坐标。
为了生成中心化的OTF可以考虑将式(7)改写为:, 2 2\5/6H (u,v)= exp[-k((u- M /2) + (v- N/2)2) ] (8)其中,M , N为图像的长和宽。
2) 读入一幅灰度图像,设定式(8)中k= 0.0025 ,进行退化试验。
分别显示原始图像、退化模型和退化图像。
3) 设定k= 0.001、0.00025重复上一步的试验。
读入原始图像对原图形进行灰度处理显示原图像将上述结果进行fft处理得到FP设计退化湍流模型为H显示传递函数由FP与H进行相关处理,得到退化图像结束图2大气湍流的退化过程2、运动模糊的图像退化试验1) 匀速直线运动引起图像退化的光学传递函数( OTF)生成。
已知相机匀速直线运动的OTF表达式如下:H (u,v) = ------- T------ sin[p(ua+ vb)]e- jp(ua+vb)p(ua + vb)其中,T为相机曝光时间,a,b分别表示(x,y)方向的速度;(u,v)分别对应(x, y)方向的频率坐标。
2)读入一幅灰度图像,设定式(9)中T = 1.0, a=b=0.1,编写MATLAB代码进行模糊退化试验。
要求分别显示原始图像、退化模型和退化图像。
3)设定不同的值,a, b值,重复上一步的试验。
4)利用数字显微镜或其它图像采集设备,移动物体过程中,采集图像。
读入原始图像对原图形进行灰度处理显示原图像(二)图像复原试验1、逆滤波将上述结果进行fft处理得到FP设计运动模糊模型为H由FP与H进行相关处理,得到退化图像结束图3运动模糊的图像退化显示传递函数显示退化图像1)根据试验(一)设计一幅退化图像(包括噪声污染+模糊退化两部分),其中模糊退化可选高斯模糊、大气湍流模糊或运动模糊(方向可任意指定,如10度、20度、45度等),噪声模型可自行设定。
2) 利用MATLAB 编程实现利用全逆滤波方法对退化图像的复原。
要求在同一个窗口下显示原始退化图像、复原结果及复原结果与理想图像的差值图共 3个图,并对复原 结果进行必要的分析。
逆滤波复原公式如下:其中,G(u,v)为退化图像的傅立叶变换,H(u,v)为退化系统的光学传递函数(OTF 。
3) 伪逆滤波:为了防止逆滤波中H(u,v)过小,使得复原后的图像数据过大和放大噪声,可采用频谱半径(阈值)限制下的逆滤波方法,即其中,R 为中心化频谱 H(u, v)中某点到原点(零频)的距离或半径。
另一种替代方法是直其中,(T 为一个阈值,用丁限制频谱的幅度值。
这种方法被称为伪逆滤波。
实验要求利用式(11)方式的伪逆滤波重复实验步骤内容 2)所涉及的图像。
2、Wiener 滤波1)针对以上逆滤波设计的退化图,编程实现利用Wiener 滤波对其进行复原。
滤波原理如下:F (u,v)=|5虫冬 G(u,v)U (u ,v)H(u,v) + kF(u,v) 二G(u,v)H(u,v)(10)R ?2V+2 接限制H (u,v)的值,即P(u,v) =0,H (u, v) £ s H (u, v) > s(12)(13)其中,G(u,v)为退化图像的傅立叶变换,H(u,v)为退化系统的光学传递函数(OTF, k 为一个与信噪比有关的调节因子。
要求在同一个窗口下显示理想图像(退化前)、退化图像、复原结果等共3个图,并对复原结果进行必要的分析。
2)改变k 值,重复试验内容1 )。
以上应根据原理自行编写代码,不允许直接调用MATLAfi 带的deconvwnr()函数分别显示三种 方式下的复原结果F1结束图4全逆,伪逆,wiener 滤波复原过程五.实验结果及分析1、大气湍流的建模显示原始 退化图像将复原结果F1与理想图像做减法,得到差值F2分别显示三种 方式下的差值F2分析:由上述结果可知,大气湍流会使图像变得模糊,而k值越大,其模糊效果越明显。
2、运动模糊的图像退化试验分析:由上述结果可知,随着a, b的值变大,图像模糊变得明显,人眼看起来好像是由丁运动速度过快造成的模糊。
3、图像复原试验分析:图10,图11,图12分别为全逆,伪逆,wiener对运动模糊(a=b=0.1)滤波的结果,从中可以看出wiener是三者中对运动模糊复原效果最好的滤波方式,且wiener中k值越小复原效果越好。
六.实验心得体会和建议心得体会:通过这次实验使我了解了图像退化的原因,以及相关的退化模型,并学会以matlab为平■台利用退化模型对图像进行退化处理以及退化图像的复原处理。
建议:可以要求利用C或C+辿行图像的退化与复原处理。
七.程序源代码% title : atmosphere% explain :本程序利用大气湍流模型对理想图像进行退化f=imread('3.jpg');figure(1)subplot(131),imshow(f),title('f=rgb2gray(f);Fp=fft2(f);原始图彳')[m,n]=size(f);% 绘制网格点[v,u]=meshgrid(1:n,1:m);u=u-floor(m/2);v=v-floor(n/2);k=0.00025;Duv=u.A2+v.A2;H=exp(-k.*Duv.A(5/6));G=H.*fftshift(Fp);f1=abs(ifft2(G));nchar = num2str(k);ltext = strcat('k=', nchar);% 标题注释subplot(132),imshow(H),title([' subplot(133),imshow(f1,[]),title(' 传递函数',ltext]);退化图像');% title : move% explain :本程序利用运动模糊模型对理想图像进行退化f=imread('3.jpg');figure(1)subplot(131),imshow(f),title('f=rgb2gray(f);原始图彳')[m,n]=size(f);[v,u]=meshgrid(1:n,1:m);u=u-floor(m/2);v=v-floor(n/2);T=1.0;a=0.3;b=0.3;% a=0.1,b=0.1;% a=0.01,b=0.01;z=pi*(u*a+v*b)+eps;H=T./z.*sin (z) .*exp(-1j*z);Fp=fft2(f);G=H.*fftshift(Fp);f1=abs(ifft2(G));nchar = num2str(a);ltext = strcat('a=b=', nchar);subplot(132),imshow(H),title([' 传递函数',ltext]);subplot(133),imshow(f1,[]),title(' 退化图像');% title : recovery% explain :本程序利用运动模糊对加入椒盐噪声的理想图像进行退化,之后分别用全逆滤波%伪逆滤波,wiener滤波对设计的退化图进行处理,观察三种滤波的复原效果。
clc,clear all,close all;f=imread('4.jpg');f=rgb2gray(f);figure,imshow(f),title(' 原始图像')f1=imnoise(f,'salt & pepper',0.02);% 加入椒盐噪声后的图像[m,n]=size(f);[v,u]=meshgrid(1:n,1:m);% 画网格点u=u-floor(m/2);v=v-floor(n/2);%==================================================================== %运动模糊%==================================================================== % T=1.0,a=0.1,b=0.1;% T=1.0,a=0.01,b=0.01;T=1.0; a=0.1 ; b=0.1;z=pi*(u*a+v*b)+eps;H=T./z.*sin (z) .*exp(-1j*z);G=H.*fftshift(fft2(f1)); % 退化图像的频域 f2=real(ifft2(ifftshift(G)));% 加了椒盐噪声的退化图像 G1=fftshift(fft2(f2));% 求原始退化图像的频域表示%====================================================================以逆滤波%==================================================================== F=G1./H;F1=real(ifft2(ifftshift(F)));以反中心化,反傅立叶变换取实部得到复原结果图(包含噪声) F2=F1-double(f);%复原结果与理想图像的差值figure,subplot(131),imshow(f2,[]),title(' 原始退化图像'); subplot(132),imshow(F1,[]);title(' 复原结果'); subplot(133),imshow(F2,[]);title(' 差值图');%=======================%»逆滤波%======================= Duv=u.A 2+v.A 2; if Duv.A(1/2)<=1000 P=1./H; else P=0; endF=G1.*P;F1=real(ifft2(ifftshift(F))); F2=F1-double(f); figure,subplot(131),imshow(f2,[]),title(' subplot(132),imshow(F1,[]);title('subplot(133),imshow(F2,[]);title(' %==================================================================== %wiener 滤波%==================================================================== k1=0.000025;F=((1./H).*(abs(H)A2)./((abs(H)A2)+k1)).*G1; F1=real(ifft2(ifftshift(F)));% 反中心化,反傅立叶变换取实部得到复原结果图(包含噪声)F2=F1-double(f); figure,原始退化图像'); 复原结果'); 差值图');subplot(131),imshow(f2,[]),title(' subplot(132),imshow(F1,[]);title(' subplot(133),imshow(F2,[]);title('八.思考题1. 简要叙述图像退化的原因。