关闭

matlab图像恢复程序实例

标签: matlab
2308人阅读 评论(0) 收藏 举报
分类:

目录

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
1
查看评论

13图像的复原

由于拍摄技术或自然条件的限制,使的很多图像的质量降低,甚至有些图像十分模糊,掩盖了我们想得到的信息。图像的复原技术就是消除图像的模糊,产生一幅质量清晰的图像,例如对于运动模糊产生的图片,如果用肉眼直接观察很难对图像做出解释,这时需要利用图像复原技术来得到清晰的图像。   本章主要描述如何利...
  • MATLAB_matlab
  • MATLAB_matlab
  • 2017-01-11 18:50
  • 6927

matlab图像复原

目录目录 频谱噪声分析 四幅图像分别处理 大气湍流处理1. 频谱噪声分析在进行图像复原之前,首先对各个图像做傅里叶变换在频谱中观察分布情况,由此判断噪声或模糊类型。i1=imread('1.png'); i2=imread('2.jpg'); i3=imread(&#...
  • qq_26769591
  • qq_26769591
  • 2016-05-30 10:50
  • 1754

【转】图像复原的matlab代码

1.维纳滤波复原 I=checkerboard(8); noise=0.1*randn(size(I)); PSF=fspecial('motion',21,11); Blurred=imfilter(I,PSF,'circular'); Blurr...
  • sinat_22822467
  • sinat_22822467
  • 2015-07-10 14:54
  • 2078

图像复原matlab代码

  • 2015-05-06 14:59
  • 2KB
  • 下载

使用 matlab 数字图像处理(九)—— 去卷积(deconvolution,逆滤波复原)

在没有噪声的情况下,频域退化模型可由下式给出:G(u,v)=H(u,v)F(u,v) G(u,v)=H(u,v)F(u,v)G(u,v)G(u,v) :退化图像; H(u,v)H(u,v) :退化函数; F(u,v)F(u,v):原始图像。 则原始图像可通过退化图像和退化函数得到: F(u,v)=...
  • lanchunhui
  • lanchunhui
  • 2016-04-17 19:15
  • 5766

基于matlab图像复原处理,图像清晰化

  • 2016-11-29 15:50
  • 2.40MB
  • 下载

基于matlab Tv 图像复原

  • 2013-04-22 14:21
  • 4KB
  • 下载

图像复原matlab程序

  • 2015-05-30 15:38
  • 5KB
  • 下载

matlab图像恢复

  • 2008-05-26 03:02
  • 992KB
  • 下载

matlab图像修复

  • 2012-07-17 20:47
  • 159KB
  • 下载
    个人资料
    • 访问:10456次
    • 积分:473
    • 等级:
    • 排名:千里之外
    • 原创:36篇
    • 转载:1篇
    • 译文:0篇
    • 评论:8条
    最新评论