数字图像处理实验三图像的复原Word格式.doc
《数字图像处理实验三图像的复原Word格式.doc》由会员分享,可在线阅读,更多相关《数字图像处理实验三图像的复原Word格式.doc(6页珍藏版)》请在冰点文库上搜索。
一、实验类型:
验证性实验
二、实验目的
1.掌握退化模型的建立方法。
2.掌握图像恢复的基本原理。
三、实验设备:
安装有MATLAB软件的计算机
四、实验原理
一幅退化的图像可以近似地用方程g=Hf+n表示,其中g为图像,H为变形算子,又称为点扩散函数(PSF),f为原始的真实图像,n为附加噪声,它在图像捕获过程中产生并且使图像质量变坏。
其中,PSF是一个很重要的因素,它的值直接影响到恢复后图像的质量。
I=imread(‘peppers.png’);
I=I(60+[1:
256],222+[1:
256],:
);
figure;
imshow(I);
LEN=31;
THETA=11;
PSF=fspecial(‘motion’,LEN,THETA);
Blurred=imfilter(I,PSF,’circular’,’conv’);
imshow(Blurred);
MATLAB工具箱中有4个图像恢复函数,如表3-1所示。
这4个函数都以一个PSF和模糊图像作为主要变量。
deconvwnr函数使用维纳滤波对图像恢复,求取最小二乘解,deconvreg函数实现约束去卷积,求取有约束的最小二乘解,可以设置对输出图像的约束。
deconvlucy函数实现了一个加速衰减的Lucy-Richardson算法。
该函数采用优化技术和泊松统计量进行多次迭代。
使用该函数,不需要提供有关模糊图像中附加噪声的信息。
deconvblind函数使用的是盲去卷积算法,它在不知道PSF的情况下进行恢复。
调用deconvblind函数时,将PSF的初值作为一个变量进行传递。
该函数除了返回一个修复后的图像以外,还返回一个修复后的PSF。
下面以维纳滤波和约束去卷积为例说明图像恢复的实验原理。
deconvwnr
使用维纳滤波对图像恢复
deconvreg
对图像进行约束去卷积
deconvlucy
用Lucy-Richardson算法实现图像恢复
deconvblind
用盲去卷积算法实现图像恢复
1.维纳滤波
使用deconvwnr函数可以利用维纳滤波方法恢复图像。
在图像的频率特征和附加噪声已知的情况下,Wiener滤波比较有效。
本例演示了维纳滤波器的性能,同时也演示了PSF的重要性。
得到准确的PSF时,恢复的结果会比较好。
I=I(10+[1:
wnrl=deconvwnr(Blurred,PSF);
imshow(wnrl);
2.约束去卷积
采用deconvreg函数可以对图像进行约束去卷积。
当知道附加噪声的部分信息时,使用约束去卷积实现图像恢复比较有效。
(1)将一幅图像读入MATLAB工作空间。
本例使用裁剪来减小要恢复的图像的大小。
I=imread('
flowers.tif'
(2)创建PSF
PSF=fspecial(‘gaussian’,11,5);
(3)模糊化图像并添加噪声。
Blurred=imfilter(I,PSF,’conv’);
V=0.02;
BlurredNoisy=imnoise(Blurred,’gaussian’,0,V);
figure;
imshow(BlurredNoisy);
(4)用deconvreg函数恢复图像,指定PSF和噪声幂次NP。
NP=V*prod(size(I));
[reg1LAGRA]=deconvreg(BlurredNoisy,PSF,NP);
figure,imshow(reg1);
五、实验内容
选择一幅清晰图像,对该图像进行模糊化处理,然后分别采用逆滤波、维纳滤波和约束去卷积恢复原来图像,比较各图像恢复方法的恢复效果。
六、实验步骤与结果
将一张图片
1、
(1)选择一幅清晰图像,对该图像进行模糊化处理
I=imread('
b.jpg'
%读入图像
I=I(60+[1:
%裁剪图像。
figure;
%创新建图像并显示
LEN=31;
THETA=11;
PSF=fspecial('
motion'
LEN,THETA);
%对图像进行模糊
Blurred=imfilter(I,PSF,'
circular'
'
conv'
%创建PSF的退化图像
%创建图像并显示模糊后的图像
(2)、使用deconvwnr函数可以利用维纳滤波方法恢复图像。
%读入图像
I=I(10+[1:
%裁剪图像
%创建PSF的退化图像
%使用IPF对图像进行模糊建模
wnrl=deconvwnr(Blurred,PSF);
%维纳滤波
imshow(wnrl);
%显示滤波后的图像
结果如图所示:
2,、
(1)将一幅图像读入MATLAB工作空间。
%读入图像
%裁剪图像
%并显示创建图像
(2)创建PSF
PSF=fspecial(‘gaussian’,11,5);
(3)模糊化图像并添加噪声
%创建PSF的退化图像
v=0.02;
BlurredNoisy=imnoise(Blurred,'
gaussian'
0,v);
%添加噪声
%创建图像并显示添加噪声后的图像
(4)用deconvreg函数恢复图像,指定PSF和噪声幂次NP
NP=V*prod(size(I));
%噪声幂次
[reg1LAGRA]=deconvreg(BlurredNoisy,PSF,NP);
%对图像进行约束去卷积
figure,imshow(reg1);
%建立并显示图像
六、实验总结
通过这次实验,能够实际掌握退化模型的建立方法,图像恢复的基本原理。