• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

实现图像复原的相关MATLAB程序举例 - 技术蛀虫

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

实现图像复原的相关MATLAB程序举例

1.维纳滤波复原


I=checkerboard(8);
noise=0.1*randn(size(I));
PSF=fspecial(\'motion\',21,11);
Blurred=imfilter(I,PSF,\'circular\');
BlurredNoisy=im2uint8(Blurred+noise);
NP=abs(fftn(noise)).^2;
NPOW=sum(NP(:)/prod(size(noise));
NCORR=fftshift(real(ifftn(NP)));
IP=abs(fftn(I)).^2;
IPOW=sum(IP(:)/prod(size(noise));
ICORR=fftshift(real(ifftn(IP)));
ICORR1=ICORR(:,ceil(size(I,1)/2));
NSR=NPOW/IPOW;
subplot(221);imshow(BlurredNoisy,[]);
title(\'模糊和噪声图像\');
subplot(222);imshow(deconvwnr(BlurredNoisy,PSF,NSR),[]);
title(\'deconbwnr(A,PSF,NSR)\');
subplot(223);imshow(deconvwnr(BlurredNoisy,PSF,NCORR,ICORR),[]);
title(\'deconbwnr(A,PSF,NCORR,ICORR)\');
subplot(224);imshow(deconvwnr(BlurredNoisy,PSF,NPOW,ICORR1),[]);
title(\'deconbwnr(A,PSF,NPOW,ICORR_1_D)\');



2.规则化滤波复原程序


I=checkerboard(8);
PSF=fspecial(\'gaussian\',7,10);
V=.01;
BlurredNoisy=imnoise(imfilter(I,PSF),\'gaussian\',0,V);
NOISEPOWER=V*prod(size(I));
[J LAGRA]=deconvreg(BlurredNoisy,PSF,NOISEPOWER);
subplot(221);imshow(BlurredNoisy);
title(\'A=Blurred and Noisy\');
subplot(222);imshow(J);
title(\'[J LAGRA]=deconvreg(A,PSF,NP)\');
subplot(223);imshow(deconvreg(BlurredNoisy,PSF,[],LAGRA/10));
title(\'deconvreg(A,PSF,[],0.1*LAGRA)\');
subplot(225);imshow(deconvreg(BlurredNoisy,PSF,[],LAGRA/10))
subplot(224);imshow(deconvreg(BlurredNoisy,PSF,[],LAGRA*10));
title(\'deconvreg(A,PSF,[],10*LAGRA\');

3.Lucy-Richardson复原程序举例

%Lucy-Richardson复原程序
I=checkerboard(8);
PSF=fspecial(\'gaussian\',7,10);
V=.0001;
BlurredNoisy=imnoise(imfilter(I,PSF),\'gaussian\',0,V);
WT=zeros(size(I));
WT(5:end-4,5:end-4)=1;
J1=deconvlucy(BlurredNoisy,PSF);
J2=deconvlucy(BlurredNoisy,PSF,20,sqrt(V));
J3=deconvlucy(BlurredNoisy,PSF,20,sqrt(V),[],WT);
subplot(221);imshow(BlurredNoisy);
title(\'A=Blurred and Noisy\');
subplot(222);imshow(J1);
title(\'deconvlucy(A,PSF)\');
subplot(223);imshow(J2);
title(\'deconvlucy(A,PSF,NI,DP)\');
subplot(224);imshow(J3);
title(\'deconvlucy(A,PSF,NI,DP,[],WT)\');

4.盲去卷积复原

%盲去卷积复原
I=checkerboard(8);
PSF=fspecial(\'gaussian\',7,10);
V=.0001;
BlurredNoisy=imnoise(imfilter(I,PSF),\'gaussian\',0,V);
WT=zeros(size(I));
WT(5:end-4,5:end-4)=1;
INITPSF=ones(size(PSF));
FUN=inline(\'PSF+P1\',\'PSF\',\'P1\');
[J P]=deconvblind(BlurredNoisy,INITPSF,20,10*sqrt(V),WT,FUN,0);
subplot(221);imshow(BlurredNoisy);
title(\'A=Blurred and Noisy\');
subplot(222);imshow(PSF,[]);
title(\'True PSF\');
subplot(223);imshow(J);
title(\'Deblured Image\');
subplot(224);imshow(P,[]);
title(\'Recovered PSF\');

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Matlab设置中文help发布时间:2022-07-18
下一篇:
Rust : 用rust实现Diffe-Hellman算法发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap