数字图像恢复matlab结论,matlab模糊图像恢复数字图像处理

41528d3028836879cd698677c3999917.gifmatlab模糊图像恢复数字图像处理

实验六 模糊图像恢复一、实验目的本实验是一个综合性实验,要求学生巩固学习多个知识点和内容,主要有:1、理解掌握运动图像的退化模型;2、掌握维纳滤波法的原理和实现方法;3、在不同的噪声和点扩散函数参数下进行恢复,并比较结果;4、通过分析和实验得出相应的结论。二、实验准备1、运动模糊退化模型:运动模糊是图像退化的一种,可以用数学表达式刻画出来。对线性移(空)不变系统,退化模型可表示为:g(x,y)=h(x,y)*f(x,y)+n(x,y) 。 对匀速直线运动而言,退化图像为:Tdtytxfyxg000,,其中 x0(t)和 y0(t)分别表示 x 和 y 方向的运动分量。并假设退化系统是线性移不变的,光学成像过程是完善的,快门开关是瞬间完成的。对上式进行傅立叶变换,则得频域表达式为),(,2exp, 2exp,,,00000vuHFdtvytujvuF dtxyvujtytxfxjgGT T    其中dtvytuxjvuHT002ep,假设景物只在 x 方向匀速运动,在 T 时间内共移动距离是 a,即 x0(t)=at/T, y0(t)=0,则ujaudtajvuT expsin2ep,0在 Matlab 中可用滤波器卷积的方法仿真出运动模糊图像。h=fspecial(‘motion’,len,theta),表示在 theta 方向移动 len 长度,产生运动模糊的点扩散函数 h。blurred=imfilter(I,h, circular’,’conv’),产生运动模糊图像。2、维纳滤波法恢复图像:此方法也叫最小均方误差滤波法,是建立在图像和噪声都是随机过程,图像和噪声不相关,其中之一的均值为零,灰度估计值与退化图像中的灰度值成线性关系。其基本思想是找到原图像 f(x,y)的一个估计 ,使得估计与原图像之间的均方误差在统计意义上),(ˆyxf最小。}],),({[22fyxfEe其中 E{.}表示数学期望,当上式取得最小值时,所得到的估计值 在频域的表),(ˆyxf达式为:vuGSvuHvuFfn,,/,,,ˆ2其中 H(u,v)是点扩散函数 h(x,y)的傅里叶变换,H*( u,v)是退化函数 H(u,v)的复共轭,S n (u,v)=|N(u,v)|2、 Sf(u,v)=|S(u,v)|2 分别是噪声和原图像的功率谱。而在实际当中,S n(u,v)、 Sf(u,v)未知,特别是 Sf(u,v),上式无法直接运用。解决的方法之一是令 Sn(u,v)/ Sf(u,v)等于某个常数 k。上式就成了 GHF,,ˆ2在 Matlab 中有专门的函数可以实现维纳滤波法恢复。wn1=deconvwnr(blurred,h),参数部分有多种选择的方法,这个表示用真实的点扩散函数进行恢复。为了对比,可取不同的参数,以及加入噪声,再恢复,噪声可用 imnoise 或 randn 函数生成。细节可参阅 matlab 相关资料。三、实验内容与要求参照以上知识点和过程仿真一幅运动模糊图像,用不同的参数,不同的噪声等情况下进行恢复,并探讨各量对恢复结果的影响。(可参照教材中插图的参数)四、实验报告1、提交经调试正确的程序源代码及相关文档。2、总结调试程序时遇到的问题及解决方案。实验程序:%%%%%两幅图片相加可以使用函数 imaddI = imread( rice.png ); I = imread( rice.png );J = imread( cameraman.tif ); Iplus50 = imadd(I,50);K = imadd(I,J);%%%%%%%%%h=fspecial(‘motion’,len,theta),表示在theta方向移动len 长度,而产生运动模糊的点扩散函数hI = imread( I:\lena.bmp );subplot(2,2,1);imshow(I);title( Original Image——原始图像 );H = fspecial( motion ,20,45);%定义的运动模型MotionBlur = imfilter(I,H, replicate );subplot(2,2,2);imshow(MotionBlur);title( Motion Blurred Image——运动模糊图像 );H = fspecial( disk ,10);%blurred=imfilter(I,h, circular’,’conv’),产生运动模糊图像blurred = imfilter(I,H, replicate );subplot(2,2,3);imshow(blurred);title( Blurred Image——模糊图像 );H = fspecial( unsharp );sharpened = imfilter(I,H, replicate );subplot(2,2,4);imshow(sharpened);title( Sharpened Image——锐化图像 );%%%%%%%%I = im2double(imread( I:\lena.bmp ))/255;subplot(221)imshow(I);title( Original Image ——原始图像 );% Simulate a motion blur.LEN = 21;%像素值THETA = 11;%角度PSF = fspecial( motion , LEN, THETA);%产生运动模糊的点扩散函数PSF%blurred=imfilter(I,h, circular’,’conv’),产生运动模糊图像blurred = imfilter(I, PSF, conv , circular );% Simulate additive noise.noise_mean = 0; noise_var = 0.0001;blurred_noisy = imnoise(blurred, gaussian , . %高斯噪声noise_mean, noise_var);subplot(222), imshow(blurred_noisy)title( Simulate Blur and Noise )% Try restoration assuming no noise.estimated_nsr = 0;wnr2 = deconvwnr(blurred_noisy, PSF, estimated_nsr);subplot(223), imshow(wnr2)title( Restoration of Blurred, Noisy Image Using NSR = 0 )% Try restoration using a better estimate of the noise-to-signal-power % ratio.estimated_nsr = no

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值