反卷积复原算法Word格式文档下载.docx

上传人:b****4 文档编号:17808216 上传时间:2022-12-10 格式:DOCX 页数:9 大小:451.37KB
下载 相关 举报
反卷积复原算法Word格式文档下载.docx_第1页
第1页 / 共9页
反卷积复原算法Word格式文档下载.docx_第2页
第2页 / 共9页
反卷积复原算法Word格式文档下载.docx_第3页
第3页 / 共9页
反卷积复原算法Word格式文档下载.docx_第4页
第4页 / 共9页
反卷积复原算法Word格式文档下载.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

反卷积复原算法Word格式文档下载.docx

《反卷积复原算法Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《反卷积复原算法Word格式文档下载.docx(9页珍藏版)》请在冰豆网上搜索。

反卷积复原算法Word格式文档下载.docx

E:

\'

);

%彩色图像的像素为512*512

I1=rgb2gray(I);

%灰度图像的像素为512*512

%figure,imshow(I),title('

Originalcolorimage'

%figure,imshow(I1),title('

Originalgrayimage'

I2=I1(1:

2:

end,1:

end);

%图像的像素设置为256*256

figure,imshow(I2),title('

GrayImage256*256'

PSF=fspecial('

gaussian'

5,5);

%点扩散函数

Blurred=imfilter(I2,PSF,'

symmetric'

'

conv'

figure;

imshow(Blurred);

title('

GaussianBlurred'

V=;

BlurredNoisy=imnoise(Blurred,'

0,V);

imshow(BlurredNoisy);

Blurred&

Noisy'

K=size(I2);

WT=zeros(K);

WT(5:

end-4,5:

end-4)=1;

J1=deconvlucy(BlurredNoisy,PSF);

%H1=deconvlucy(BlurredNoisy,PSF,5);

%迭代5次

%H1_cell=deconvlucy({BlurredNoisy},PSF,5);

%H2_cell=deconvlucy(H1_cell,PSF);

%H2=im2uint8(H2_cell{2});

J2=deconvlucy(BlurredNoisy,PSF,5,im2uint8(3*sqrt(V)));

J3=deconvlucy(BlurredNoisy,PSF,15,im2uint8(3*sqrt(V)));

%迭代15次

J4=deconvlucy(BlurredNoisy,PSF,25,im2uint8(3*sqrt(V)));

%迭代25次

J5=deconvlucy(BlurredNoisy,PSF,40,im2uint8(3*sqrt(V)));

%迭代40次

J6=deconvlucy(BlurredNoisy,PSF,20,im2uint8(3*sqrt(V)),WT);

%迭代20次,加WT

J7=deconvlucy(BlurredNoisy,PSF,40,im2uint8(3*sqrt(V)),WT);

%迭代40次,加WT

%

figure,imshow(J1);

J1:

deconvlucy(A,PSF)'

%figure,imshow(H1);

title('

H1:

RestoredImageNUMIT=5'

%figure,imshow(H2),title('

H2:

RestoredImageNUMIT=15'

figure,imshow(J2);

J2:

deconvlucy(A,PSF,NUMIT=5,DAMPAR)'

figure,imshow(J3);

J3:

deconvlucy(A,PSF,NUMIT=15,DAMPAR)'

figure,imshow(J4);

J4:

deconvlucy(A,PSF,NUMIT=25,DAMPAR)'

figure,imshow(J5);

J5:

deconvlucy(A,PSF,NUMIT=40,DAMPAR)'

figure,imshow(J6),

J6:

deconvlucy(A,PSF,NUMIT=20,DAMPAR,WEIGHT)'

figure,imshow(J7),

J7:

deconvlucy(A,PSF,NUMIT=40,DAMPAR,WEIGHT)'

二、维纳滤波

维纳滤波法是由Wiener首先提出的,在图像复原领域,由于维纳滤波计算量小,复原效果好,从而得到了广泛的应用和发展。

维纳滤波最开始主要应用在一维信号处理里,取得了比较不错的效果。

之后,维纳滤波法也用于二维信号处理中,也取得了比较好的效果。

维纳滤波器寻找一个统计误差函数:

最小的估计

E是期望值操作符,

是未退化的图像。

该表达式在频域可表示为

其中,

表示退化函数

表示

的复共轭

表示噪声的功率谱

表示未退化图像的功率谱

比率

称为信噪功率比。

在IPT中维纳滤波使用函数deconvwnr来实现的。

维纳滤波能最佳复原的条件是要求已知模糊的系统函数,噪声功率谱密(或其自相关函数),原图像功率谱密度(或其自相关函数)。

但实际上,原图像功率谱密度(或其自相关函数)一般难以获知,再加上维纳滤波是将图像假设为平稳随机场的前提下的最佳滤波,而实际的图像通常不能满足此前提。

因此维纳滤波复原算法在实际中只能获得次最佳实施,它更多的是具有理论价值,被用作度量其他算法性能优劣的标杆。

维纳滤波复原函数deconvwnr()的调用格式:

J=deconvwnr(I,PSF,NCORR,ICORR)

其中,I表示输入图像,PSF表示点扩散函数,NSR(默认值为0)、NCORR和ICORR都是可选参数,分别表示信噪比、噪声的自相关函数、原始图像的自相关函数。

输出参数J表示复原后的图像。

维纳滤波复原源代码:

%维纳滤波在图像复原中的应用

'

%原始图像

noise=5*randn(size(I));

%randn(1,lx)表示生成1*lx的矩阵,矩阵的每个元素都是随机数

noise=noise-min(min(noise));

%randn(size(I))是返回一个和A有同样维数大小的随机数组

J=double(I)+noise;

R1=wiener2(J,[1010]);

%未知噪声

R2=wiener2(J,[1010],noise);

%已知噪声分布

figure

subplot(2,2,1),imshow(uint8(I));

原始图像'

subplot(2,2,2),imshow(uint8(J));

退化图像'

subplot(2,2,3),imshow(uint8(R1));

盲复原'

subplot(2,2,4),imshow(uint8(R2));

非盲复原'

三、正则滤波

另一个线性复原的方法称为约束的最小二乘方滤波,在IPT中称为正则滤波,并且通过函数deconvreg来实现。

在最小二乘复原处理中,常常需要附加某种约束条件。

例如令Q为f的线性算子,那么最小二乘方复原的问题可以看成使形式为

的函数,服从约束条件

的最小化问题,这种有附加条件的极值问题可以用拉格朗日乘数法来处理。

寻找一个

,使下述准则函数为最小:

式中

叫拉格朗日系数。

通过指定不同的Q,可以得到不同的复原目标。

实验结果如下:

正则滤波所用的源代码:

subplot(321),imshow(I),title('

OriginalImage'

subplot(322),imshow(I1),title('

GrayImage'

PSF=fspecial('

7,10);

V=.01;

H=imfilter(I1,PSF);

BlurredNoisy=imnoise(H,'

NOISEPOWER=V*prod(size(I1));

[J,LAGRA]=deconvreg(BlurredNoisy,PSF,NOISEPOWER);

K=deconvreg(BlurredNoisy,PSF,[],LAGRA/10);

K0=deconvreg(BlurredNoisy,PSF,[],LAGRA*10);

subplot(323),imshow(BlurredNoisy);

A=BlurredandNoisy'

subplot(324),imshow(J);

[JLAGRA]=deconvreg(A,PSF,NP)'

subplot(325);

imshow(K);

deconvreg(A,PSF,[],*LAGRA)'

subplot(326);

imshow(K0);

deconvreg(A,PSF,[],10*LAGRA)'

 

四、盲反卷积

在图像复原过程中,最困难的问题之一是,如何获得PSF的恰当估计。

那些不以PSF为基础的图像复原方法统称为盲去卷积。

它以MLE为基础的,即一种用被随机噪声所干扰的量进行估计的最优化策略。

工具箱通过函数deconvblind来执行盲区卷积。

实验如下:

%%盲反卷积图像复原

subplot(321),imshow(I),title('

I=rgb2gray(I);

subplot(322),imshow(I),title('

%PSF=7x7

V=.0001;

BlurredNoisy=imnoise(imfilter(I,PSF),'

BlurredNoisy=double(BlurredNoisy);

WT=zeros(size(I));

%从第五行到倒数第五行,第五列到倒数第五列全部置为1

INITPSF=ones(size(PSF));

%INITPSF=ones(7x7)

FUN=inline('

PSF+P1'

PSF'

P1'

[J,P]=deconvblind(BlurredNoisy,INITPSF,5,10*sqrt(V),WT,FUN,0);

[K,P]=deconvblind(BlurredNoisy,INITPSF,10,10*sqrt(V),WT,FUN,0);

%迭代10次

[L,P]=deconvblind(BlurredNoisy,INITPSF,20,10*sqrt(V),WT,FUN,0);

%迭代20次

subplot(323);

imshow(mat2gray(BlurredNoisy));

subplot(324);

imshow(mat2gray(J));

TruePSF'

imshow(mat2gray(K));

DebluredImage'

imshow(mat2gray(L));

RecoveredPSF'

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 院校资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1