MATLAB图像复原处理技术

MATLAB图像复原处理技术

实验目的

  1. 了解图像降质退化的原因,并建立降质模型。
  2. 理解反向滤波图像复原的原理
  3. 理解维纳滤波图像复原的原理实验原理图像复原处理一定是建立在图像退化的数学模型基础上的,这个退化数学模型应该能够


反映图像退化的原因。图像降质过程的模型如图5-1所示,其表达式为

g(x,y)=h (x,y)*f (x,y) +n(xy) (5.1)

v2-a626d541c38dc5b3b387dd7cd861db08_b.jpg

图5-1图像降质模型

  1. 滤波图像复原

逆滤波法是最简单的图像恢复方法。对5.1式两边作二维傅立叶变换,得到

G (u, v) =H (u,v) F (u,v) + N (u,v)

H (u,v) 为成像系统的转移函数。估算得到的恢复图像的傅立叶变换Fˆ (u,v) 为

v2-0587157a4ec55f7916beab0d836616d1_b.png

(5.2)

若知道转移函数H

v2-138bdc4fa3e4c89fcfce621185fbb22d_b.jpg

,5.2式经反变换即可得到恢复图像,其退化和恢复的全过程用图5-2表示。


v2-3077457607d2e8c2b5cfeb449bacbf39_b.jpg


图5-2频域图像降质及恢复过程

v2-a1a501d4d76befbaac93dfceb8f4679c_b.jpg

(2)维纳滤波复原

v2-f5b3a3e2aa7e4afddc8df2248f49b948_b.jpg

【实验】产生一模糊图像,采用维纳滤波图像复原的方法对图像进行处理。

clear; %清除变量

d=15 %设定长度

h=zeros(2*d+1,2*d+1);

h(d+1,1:2*d+1)=1/(2*d); %设置函数h

f=imread('lena.bmp'); %读取图像

[m,n]=size(f); %求出图像大小

fe=zeros(m+2*d,n+2*d); %扩增f

fe(1:m,1:n)=f;

he=zeros(m+2*d,n+2*d);

he(1:2*d+1,1:2*d+1)=h; %扩增h

F=fft2(fe);

H=fft2(he);

ns=5*rand(m+2*d,n+2*d); %产生噪声

g=ifft2(F.*H)+ns; %产生模糊且加载噪声的图像

G=fft2(g);

K=0; %设定K 值

F_est=((H.^2)./(H.^2+K)).*G./H; % 维纳滤波

f_est=real(ifft2(F_est)); %恢复后的图像

imshow(f); %显示原始图像

figure;

imshow(g(d+1:m+d,d+1:n+d),[min(g(:)) max(g(:))]); % 显示模糊后加噪声的图像

figure;

imshow(f_est(1:m,1:n),[min(f_est(:)) max(f_est(:))]);% 显示恢复后的图像

运行结果:

v2-8ea6f2c2ba2aa3d49c941321459d960f_b.jpg

原图


v2-0dd75c8c5d735fa8d12d8c973f7373b2_b.jpg

模糊后

v2-8ea6f2c2ba2aa3d49c941321459d960f_b.jpg

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值