维纳滤波原理及其在图像处理中的应用.docx
- 文档编号:10223963
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:10
- 大小:943.96KB
维纳滤波原理及其在图像处理中的应用.docx
《维纳滤波原理及其在图像处理中的应用.docx》由会员分享,可在线阅读,更多相关《维纳滤波原理及其在图像处理中的应用.docx(10页珍藏版)》请在冰豆网上搜索。
维纳滤波原理及其在图像处理中的应用
维纳滤波原理及其在图像处理中的应用
摘要
图像由于受到如模糊、失真、噪声等的影响,会造成图像质量的下降,形成退化的数字图像。
退化的数字图像会造成图像中的目标很难识别或者图像中的特征无法提取,必须对其进行恢复。
所谓图像复原就是指从所退化图像中复原出原始清晰图像的过程。
维纳波是一种常见的图像复原方法,该方法的思想是使复原的图像与原图像的均方误差最小原则恢复原图像。
本文进行了对退化图像进行图像复原的仿真实验,分别对加入了噪声的退化图像、运动模糊图像进行了维纳滤波复原,并给出了仿真实验效果以及结果分析。
实验表明退化图像在有噪声时必须考虑图像的信噪比进行图像恢复,才能取得较好的复原效果。
关键词:
维纳滤波;图像复原;运动模糊;退化图像
Abstract
Duetofactorssuchasblurringdistortingandnoising,imagequalitydeterioratedandledtodegenerateddigitalimageswhichisgettinghardertodiscernthetargetimageorextracttheimagefeatures.WienerFilterisoftenusedtorecoverthedegradedimage.Theprincipleofthemethodexpectstominimizethemeansquareerrorbetweentherecoveredimageandoriginalimage.
Thispapercarriedoutarestorationsimulationexperimentsondegradedimage,restorationofmotionblurredimages,andtheresultshows,SNRnoiseoftheautocorrelationfunctionforimagerestorationmustbetakenintoconsiderationwhenrestoringdegradedimagesinanoise.
Keywords:
WienerFilter;motionblurred;degradedimage;imagerestoration
概述
图像在形成、传输和记录的过程中都会受到诸多因素的影响,所获得的图像一般会有所下降,这种现象称为图像“退化”。
因此我们可以采取一些技术手段来尽量减少甚至消除图像质量的下降,还原图像的本来面目,这就是图像复原。
引起图像模糊有很多种的原因,举例来说有运动引起的,高斯噪声引起的。
图像恢复过程需要根据指定的图像退化模型来完成,根据退化模型对在某种情况下退化了的图像进行恢复,以获取到原始的未经过退化的原始图像,从而复原图像的本来面目。
图像恢复的处理过程实际是对退化图像品质的提升,以此来达到图像在视觉上的改善。
图像复原的算法:
数字图像复原问题实际上是在一定的准则下,采用数学最优化方法从退化的图像去推测原图像的估计问题。
不同的准则及不同的数学最优化方法就形成了各种各样的算法。
常见的复原方法有,逆滤波复原算法,维纳滤波复原算法,盲卷积滤波复原算法,约束最小二乘滤波复原算法等等。
图像复原是图像处理中的重要技术,图像复原可以在某种意义上对图像进行改进,即可以改善图像的视觉效果,又能够便于后续处理。
其中维纳滤波是最典型的一种,20世纪40年代,维纳奠定了最佳滤波器研究的基础。
即假定输入时有用信号和噪声信号的合成,并且它们都是广义平稳过程和他们的二阶统计特性都已知。
维纳根据最小均方准则(即滤波器的输出信号与需要信号的均方值最小),求得了最佳线性滤波器的参数,这种滤波器被称为维纳滤波器。
由于基于维纳滤波器的图像复原效果比较好,具有一定的抑制噪声能力,近年来被广泛的应用到图象复原领域,维纳滤波算法得到不断的改进发发展,现在,许多有效的图像复原算法都在此基础形成的。
维纳滤波的原理
维纳滤波复原算法是由C.W.Helstrom于1967年提出的基于最小均方误差方法,其基本思想是使原始图像和复原图像之间的均方误差最小的复原方法。
1、图像的退化模型
要尽可能地恢复出被退化的图像的原来面目,就必须知道这种图像退化的机理和过程,然后建立相应模糊过程的退化数学模型,最终找出一种相应的反演的方法进行对退化图像的复原。
所以图像复原的关键问题是在于建立退化模型,假设输入图像f(x,y)经过某个退化系统h(x,y)后产生退化图像g(x,y)。
在退化过程中,引进的随机噪声为加性噪声n(x,y),则图像的退化过程如图所示:
其中,f(x,y)表示原始图像,h(x,y)表示为冲击响应函数,n(x,y)表示加性噪声,g(x,y)表示退化模糊图像(或称观测图像)。
这是一种简单的通用图像退化模型,输入图像f(x,y)经过一个退化系统或退化算子
后产生的退化图像g(x,y),我们可以表示为下面的形式。
式中H为退化系统。
这是连续形式下的表达。
在实际应用中,处理的都是数字图像,所以对上式进行离散化如下:
上式两边进行傅里叶变换得
式中G(u,v),F(u,v),H(u,v)和N(u,v)分别是g(x,y),f(x,y),h(x,y)和n(x,y)的二维傅里叶变换。
2、维纳滤波进行图像恢复的原理
维纳滤波是一种有约束的复原恢复,它综合了退化图像和噪声统计特性两个方面进行了复原处理。
维纳滤波,它是使原图像f(x,y)及其恢复图像
之间的均方差最小的复原方法,即:
(4.27)
式中,
为数学期望算子。
因此,维纳滤波器通常又叫最小均方差滤波器。
很容易推到出原始图像的傅里叶变换估计为:
上式也称作约束复原恢复通用的表达式,它的传递函数为:
仿真分析
在仿真实验中,主要利用MATLAB实验平台,在MATLAB中可以按照维纳滤波的原理和公式来编写语句进行滤波,但由于此种方法较为复杂,同时MATLAB也有自带的维纳滤波器的函数,因此本课题中使用MATLAB自带的函数进行维纳滤波。
在MATLAB中与维纳滤波有关的函数有wiener2()和deconvwnr(),这两个函数都能够完成维纳滤波的功能, deconvwnr()强调图象复原方面,wiener2()强调图像空间域锐化的作用。
其中wiener2()函数只支持二维滤波,由于此处选的是一张彩色图片,如果使用wiener2()函数,需首先将所选的图片转化为灰度图。
而deconvwnr()函数既能对彩色图片进行操作,又能实现对不同噪声的干扰和污染进行滤除
1.用维纳滤波器滤除高斯噪声
选取一张图片,将其存放在桌面上,其保存路径为'C:
\Users\DELL\Desktop\Lenna.jpg'
首先用imread()函数读取一张彩色的图像,然后用rgb2gray()将其转换为灰度图,并给原图像添加均值为0,方差为0.01的高斯噪声。
在MATLAB中由程序得到的图像如图3-1所示:
图3-1
由仿真图可明显看出,加入高斯噪声后的图像变得不清晰。
再将加噪的图像通过wiener2()进行滤波,分别取滤波器窗口大小为[55]和[1010]。
得到的恢复图像如图3-2所示:
图3-2
可见不同大小的滤波器的窗口得到的恢复图像的效果也不一样,因此应该选取合适的窗口大小来进行维纳滤波。
在MATLAB中的程序代码如下:
RGB=imread('C:
\Users\DELL\Desktop\Lenna.jpg');%读取一幅彩色图片
I=rgb2gray(RGB);%转化为灰度图像
figure
(1);
subplot(2,2,1);
imshow(I);
title('原始图像');
J1=imnoise(I,'gaussian',0,0.01);%给图像加均值为0,方差为0.01的高斯噪声
subplot(2,2,2);
imshow(J1);
title('引入高斯噪声的图像');
x=J1(:
:
1);
K1=wiener2(x,[1010]);
subplot(2,2,3);
imshow(K1);
title('进过维纳滤波器后的图像(窗口大小为[55])');
K2=wiener2(x,[2020]);
subplot(2,2,4);
imshow(K2);
title('经过维纳滤波器后的图像(窗口大小为[1010]');
2.用维纳滤波器对模糊加噪图像进行恢复
造成图像退化或模糊的原因有很多种,其中因为在摄像时相机和被摄景物之间有相对运动而造成的图像模糊则称为运动模糊。
所得到图像中的景物往往会模糊不清,我们称之为运动模糊图像。
在前面的分析中,我们假定退化图像的PSF是已知的,但在实际情况下PSF是未知的,在本课题中,我们使用MATLAB中的fspecial()函数来创建一个确定类型的PSF,得到一张运动模糊图像。
先按照1中所述方法得到带噪图像,接着对其进行长度len=50,角度theta=45的运动模糊。
在MATLAB中得到的图像如图3-3所示:
图3-3
直接使用deconvwnr()对模糊加噪图像进行维纳滤波,在MATLAB中的得到的图像如图3-4所示:
图3-4
由上图可以看出维纳滤波并没有很好的还原图像,我们需要在恢复过程中考虑噪声的影响,即估计信噪比。
引入信噪比之后得到的滤波后的图像如图3-5所示:
图3-5
由仿真结果可以看出,引入信噪比之后的恢复图像得到了很好的改善。
图像退化过程的先验知识在图像恢复技术中起着重要作用,对图像进行恢复操作时,知道的关于图像的统计信息越丰富,得到的复原结果就越好,由于此处引入了图像的信噪比,所以得到的复原图像明显优于不引入信噪比时的复原图像。
在MATLAB中的程序代码如下:
I=imread('C:
\Users\DELL\Desktop\Lenna.jpg');
figure
(1);
subplot(221);
imshow(I);
title('原始图像');
J1=imnoise(I,'gaussian',0,0.01);
subplot(222);
imshow(J1);
title('引入高斯噪声的图像');
PSF=fspecial('motion',50,45);
J2=imfilter(I,PSF,'circular','conv');
subplot(223);
imshow(J2);
title('运动模糊后的lena.bmp(角度为45)');
J3=imnoise(J2,'gaussian',0,0.01);
subplot(224);
imshow(J3);
title('加噪并模糊的lena.bmp');
J4=deconvwnr(J3,PSF);
figure
(2);
subplot(121);
imshow(J4);
title('模糊噪声图像的维纳滤波复原');
noise=imnoise(zeros(size(I)),'gaussian',0,0.01);
NSR=sum(noise(:
).^2)/sum(im2double(I(:
)).^2);
J5=deconvwnr(J3,PSF,NSR);
subplot(122);
imshow(J5);
title('引入SNR的维纳滤波复原');
四.结论
通过MATLAB仿真实验,使我们更加深刻地了解到维纳滤波的原理及其在图像处理方面的应用。
在图像恢复处理中使用的方法还有很多,应该根据具体情况做具体分析,维纳滤波是假设图像信号可以近似看成平稳随机过程的前提下,使输入图像和恢复图像之间的均方误差达到最小的准则函数来实现图像恢复的方法。
如果已知图像的统计特性,那么用维纳滤波来进行图像处理的效果还是可观的。
我们在上述实验过程中假定的噪声是高斯的且是加性的,噪声和信号相互独立,然而在实际测量中很多图像的噪声往往是非加性的,因此我们需要进一步将维纳滤波器推广到更复杂的情况中,由于时间和水平有限,在此就不加叙述。
参考文献
[1]杨鉴,梁虹.随机信号原理与实践.北京,科学出版社.2010.6
[2]张德丰.MATLAB数字图像处理.北京,机械工业出版社.2003,41~46
[3]陈友凎.基于MATLAB的维纳滤波器仿真研究.中国科技论文网
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 滤波 原理 及其 图像 处理 中的 应用