图像退化与复原.docx
《图像退化与复原.docx》由会员分享,可在线阅读,更多相关《图像退化与复原.docx(15页珍藏版)》请在冰点文库上搜索。
图像退化与复原
实验名称:
图像退化与复原
实验目的
1.了解光电图像的退化原因;
2.掌握和理解基本的噪声模型,并能对图像进行加噪处理;
3.了解点扩展函数(PSF)与光学传递函数(OTF)的关系,熟悉几种经典的退化模型的模拟试验和OTF估计方法;
4.熟悉和掌握几种经典的图像复原方法及其基本原理;
5.能熟练利用MATLAB或C/C++工具进行图像的各种退化处理,并能编程实现退化图像的复原。
3.实验原理
光电成像系统出现图像退化的过程是复杂多变的,为了研究的需要,通常情况下都把退化简化为化为一个线性移不变过程,见下图1所示。
障质过稈|屯原
图1光电图像退化与复原原理图
因此,在空域中退化过程可以表示如下:
g(x,y)=f(x,y)*h(x,y)+h(x,y)
(1)
只有加性噪声不存在情况下,退化过程可以模型化如下表达式:
g(x,y)=f(x,y)+h(x,y)
(2)
其频域表达式为:
针对这种退化图像的复原,除了周期噪声以外,通常都可以采用空间域滤波的方法进行图像复原,此时图像复原与图像增强几乎是没有区别的。
常见的空间域滤波方法有均值滤波器和统计排序滤波器。
当退化图像存在线性移不变退化时,图像的复原不能采用简单空间域滤波器
来实现,要实现线性移不变退化图像的复原,必须知道退化系统的退化函数,即点扩展函数h(x,y)。
在点扩展函数已知的情况下,常见图像复原方法有逆滤波和维纳滤波两种。
在考虑噪声的情况下,逆滤波的原理可以表示如下:
通常情况下,N(u,v)是未知的,因此即使知道退化模型也不能复原图像
此外,当H(u,v)的任何元素为零或者值很小时,N(u,v)/H(u,v)的比值决定
着复原的结果,从而导致图像复原结果出现畸变。
对于这种情况,通常采用限制
滤波频率使其难以接近原点值,从而减少遇到零值的可能性。
维纳滤波则克服了逆滤波的缺点,其数学模型表示如下:
然而,为退化图像的功率谱很少是已知的,因此常常用下面表达式近似:
轾1*
轾1|h(u
v)2
i(u,v)lH(u,v)
2
+k
°
F(u,v)=
G(u,v)
因此,本实验的内容就是利用上述经典图像复原的原理,对降质退化图像进行复原。
4.实验步骤
本次实验主要包括光电图像的退化模型和复原方法实现两大部分内容。
(一)图像的退化图像
1、大气湍流的建模
1)湍流引起图像退化的光学传递函数(OTF生成。
已知湍流退化模型的
OTF表达式如下:
H(u,v)=exp[-k(u2+v2)5/6](7)
其中,k为一个常数,反映了大气湍流的严重程度。
(u,v)分别代表了(x,y)
方向的频率坐标。
为了生成中心化的OTF可以考虑将式(7)改写为:
H(u,v)=exp[-k((u-M/2)2+(v-N/2)2)5"](8)
其中,M,N为图像的长和宽。
2)读入一幅灰度图像,设定式(8)中k=0.0025,进行退化试验。
分别显示原始图像、退化模型和退化图像。
3)
由FP与H进行相关处理,
得到退化图像
设计退化湍流模型为H
显示传递函数
显示退化图像
结束
设定k=0.001、0.00025重复上一步的试验。
图2大气湍流的退化过程
2、运动模糊的图像退化试验
1)匀速直线运动引起图像退化的光学传递函数(OTF)生成。
已知相机匀
速直线运动的OTF表达式如下:
其中,T为相机曝光时间,a,b分别表示(x,y)方向的速度;(u,v)分别对
应(x,y)方向的频率坐标。
2)读入一幅灰度图像,设定式(9)中T=1.0,a=b=0.1,编写MATLAB代
码进行模糊退化试验。
要求分别显示原始图像、退化模型和退化图像。
3)设定不同的值,a,b值,重复上一步的试验。
4)利用数字显微镜或其它图像采集设备,移动物体过程中,采集图像。
读入原始图像
将上述结果进行fft处理
得到FP
结束
图3运动模糊的图像退化
(二)图像复原试验1、逆滤波
1)根据试验
(一)设计一幅退化图像(包括噪声污染+模糊退化两部分),其中模糊退化可选高斯模糊、大气湍流模糊或运动模糊(方向可任意指定,如
10度、20度、45度等),噪声模型可自行设定。
2)利用MATLAB编程实现利用全逆滤波方法对退化图像的复原。
要求在同一个窗口下显示原始退化图像、复原结果及复原结果与理想图像的差值图共3
个图,并对复原结果进行必要的分析。
逆滤波复原公式如下:
其中,G(u,v)为退化图像的傅立叶变换,H(u,v)为退化系统的光学传递函数
(OTF。
3)伪逆滤波:
为了防止逆滤波中H(u,v)过小,使得复原后的图像数据过大
和放大噪声,可采用频谱半径(阈值)限制下的逆滤波方法,即
9.
2
其中,R为中心化频谱H(u,v)中某点到原点(零频)的距离或半径。
另一种替代方法是直
P(u,v)=
J
0,
H(u,v)£s
H(u,v)>s
(12)
接限制H(u,v)的值,即
其中,c为一个阈值,用于限制频谱的幅度值。
这种方法被称为伪逆滤波。
实验要求利用式(11)方式的伪逆滤波重复实验步骤内容2)所涉及的图像。
2、Wiener滤波
1)针对以上逆滤波设计的退化图,编程实现利用Wiener滤波对其进行复
原。
滤波原理如下:
F(u,v)=A^I(u,v)H(u,v)+k
其中,G(u,v)为退化图像的傅立叶变换,H(u,v)为退化系统的光学传递函数
(OTF,k为一个与信噪比有关的调节因子。
要求在同一个窗口下显示理想图
像(退化前)、退化图像、复原结果等共3个图,并对复原结果进行必要的分析。
2)改变k值,重复试验内容1)。
以上应根据原理自行编写代码,不允许直接调用MATLAB!
带的deconvwnr()
函数。
读入原始图像
对原图形进行灰度处理,并加入椒盐噪声得到fi
由实验一对fi进行运动退显示原始
化处理得f2(a=b=0.1)退化图像
对f2进行fft,fftshift处理得G1
分别利用逆滤波,伪逆滤波,wiener滤波对G1进行复原处理
得到F1
分别显示三种
:
]>J方式下的复原
结果f1^F
将复原结果F1与理想图像做减法,得到差值F2
分别显示三种
V七&方式下的差值
结束
图4全逆,伪逆,wiener滤波复原过程
5.实验结果及分析
1、大气湍流的建模
StIV]it
图6
图7
分析:
由上述结果可知,大气湍流会使图像变得模糊,而k值越大,其模糊效果越明显。
图8
2、运动模糊的图像退化试验
图9
分析:
由上述结果可知,随着a,b的值变大,图像模糊变得明显,人眼看起来
好像是由于运动速度过快造成的模糊。
图11
-
3、图像复原试验
图12
分析:
图10,图11,图12分别为全逆,伪逆,wiener对运动模糊(a=b=0.1)滤波的结果,从中可以看出wiener是三者中对运动模糊复原效果最好的滤波方式,且wiener中k值越小复原效果越好。
6.实验心得体会和建议
心得体会:
通过这次实验使我了解了图像退化的原因,以及相关的退化模
型,并学会以matlab为平台利用退化模型对图像进行退化处理以及退化图像的复原处理
建议:
可以要求利用C或C+世行图像的退化与复原处理
7.程序源代码
%title:
atmosphere
%explain:
本程序利用大气湍流模型对理想图像进行退化
f=imread('3.jpg');
figure
(1)
subplot(131),imshow(f),title('原始图像')
f=rgb2gray(f);
Fp=fft2(f);
[m,n]=size(f);%绘制网格点
[v,u]=meshgrid(1:
n,1:
m);
u=u-floor(m/2);
v=v-floor(n/2);
k=0.00025;
Duv=u.A2+v.A2;
H=exp(-k.*Duv4(5/6));
G=H.*fftshift(Fp);
f1=abs(ifft2(G));
nchar=num2str(k);
标题注释
传递函数',ltext]);
退化图像');
ltext=strcat('k=',nchar);%subplot(132),imshow(H),title(['subplot(133),imshow(f1,[]),title('%title:
move
%explain:
本程序利用运动模糊模型对理想图像进行退化
f=imread('3.jpg');
figure
(1)
subplot(131),imshow(f),title('原始图像')
f=rgb2gray(f);
[m,n]=size(f);[v,u]=meshgrid(1:
n,1:
m);u=u-floor(m/2);v=v-floor(n/2);
T=1.0;a=0.3;b=0.3;
%a=0.1,b=0.1;
%a=0.01,b=0.01;
z=pi*(u*a+v*b)+eps;
H=T./z.*sin(z).*exp(-1j*z);
Fp=fft2(f);
G=H.*fftshift(Fp);
f1=abs(ifft2(G));
nchar=num2str(a);
ltext=strcat('a=b=',nchar);
subplot(132),imshow(H),title(['传递函数:
ltext]);
subplot(133),imshow(f1,[]),title('退化图像');
%title:
recovery
%explain:
本程序利用运动模糊对加入椒盐噪声的理想图像进行退化,之后分别用全逆滤波
%伪逆滤波,wiener滤波对设计的退化图进行处理,观察三种滤波的复原效果。
clc,clearall,closeall;
f=imread('4.jpg');
f=rgb2gray(f);
figure,imshow(f),title('原始图像')
f1=imnoise(f,'salt&pepper',0.02);%加入椒盐噪声后的图像
[m,n]=size(f);
[v,u]=meshgrid(1:
n,1:
m);%画网格点
u=u-floor(m/2);
v=v-floor(n/2);
%====================================================================血动模糊
%====================================================================
%T=1.0,a=0.1,b=0.1;
%T=1.0,a=0.01,b=0.01;
T=1.0;a=0.1;b=0.1;
z=pi*(u*a+v*b)+eps;
G=H.*fftshift(fft2(f1));%f2=real(ifft2(ifftshift(G)));%
退化图像的频域
加了椒盐噪声的退化图像
H=T./z.*sin(z).*exp(-1j*z);
求原始退化图像的频域表示
%====================================================================
%逆滤波
%====================================================================
F=G1./H;
F1=real(ifft2(ifftshift(F)));
%反中心化,反傅立叶变换取实部得到复原结果图(包含噪声)
F2=F1-double(f);%复原结果与理想图像的差值
figure,
subplot(131),imshow(f2,[]),title('原始退化图像');
subplot(132),imshow(F1,[]);title('复原结果');
subplot(133),imshow(F2,[]);title('差值图');
%====================================================================
%伪逆滤波
%====================================================================
Duv=u.A2+v.A2;
ifDuv.a(1/2)v=1000
P=1./H;
else
P=0;
end
F=G1.*P;
F1=real(ifft2(ifftshift(F)));F2=F1-double(f);
原始退化图像');复原结果');
差值图');
figure,subplot(131),imshow(f2,[]),title('subplot(132),imshow(F1,[]);title('subplot(133),imshow(F2,[]);title('%====================================================================%wiener滤波
%====================================================================k1=0.000025;
F=((1./H).*(abs(H)A2)./((abs(H)A2)+k1)).*G1;
反中心化,反傅立叶变换取实部得到复原结果
原始退化图像');复原结果');
差值图');
F1=real(ifft2(ifftshift(F)));%
图(包含噪声)
F2=F1-double(f);
figure,subplot(131),imshow(f2,[]),title('subplot(132),imshow(F1,[]);title('subplot(133),imshow(F2,[]);title('
8.思考题
1.简要叙述图像退化的原因。
答:
原因:
在图像的获取和传输过程中,由于成像系统各种因素的影响,使得最终得到的图像相比于理想图像质量降低。
2.图像复原与图像增强有什么异同?
答:
表格1图像复原与图像增强的异同
图像复原
图像增强
目的
改善图像质量。
改善图像质量。
过程及
评价
不需要考虑退化模型;
客观过程,恢复原始图像的最优估值。
不需要考虑退化模型;
主观过程,提供便于人眼观察或机器识别。
实现
手段
空域(反卷积)或频域滤波
空域(卷积)或频域滤波
3.简述同态滤波的设计思想和处理流程,说明该方法适合于何种场合下的图
像恢复。
答:
设计思想:
通过把频率过滤和灰度变换相结合进行图像处理,依靠图像的照度/反射率模型作为频域处理的基础,利用压缩亮度范围和增强对比度来改
善图像的质量。
处理流程:
1)对原图取对数得到如下两个加性分量:
Inf(x,y)=Inf/x,y)+Inf「(x,y)(14)
2)频域表示为:
FFTInfx,y=FFTIn£x,y+FFTInfrx,y(15)
3)设计一个滤波器H(u,v)进行滤波处理。
4)傅立叶反变换,即IFFT。
5)求指数结果,得到复原结果。
适用场合:
作为非线性复原方法的同态滤波,它可以用来恢复在非均匀光照射下的图像。
报告评分:
指导教师签字: