基于MATLAB的模糊图像的复原方法探究

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于MATLAB的模糊图像的复原方法探究

摘要:图像复原是图像处理的一个核心环节,它是后期图像分析和处理的重要前提。模糊图像复原的主要目的就是改善图像质量,研究如从所得到的模糊图像中复原出真实图像。本文首先从图像复原技术的相关概念谈起,然后就典型的模糊图像复原方法进行分析,最后利用matlab,以维纳滤波恢复算法为例,就实现模糊图像复原的应用实例进行分析说明。

关键词:图像复原;模糊图像;matlab;维纳滤波恢复算法

中图分类号:tp391.41 文献标识码:a 文章编号:1674-7712 (2013) 06-0066-01

一、图像的复原技术概述

(一)认识图像复原。图像复原技术即所谓的图像恢复技术,是当今图像处理研究的一个重要领域分支。图像复原技术的目的在于去除或减轻在获取数字图像过程中发生的图像质量退化问题,从而使图像尽可能地接近于真实场景。其中,所谓的图像质量退化问题指景物形成过程中因出现畸变、模糊、失真或混入噪声等现象所导致的图像降质问题。

(二)引起图像退化的原因。查阅大量相关文献,笔者总结发现,导致图像退化的原因有很多,主要原因表现为如下几点:一是由于扫描非线性以及成像器件拍摄姿态问题所引起的图像几何失真;二是成像系统的畸变、象差、带宽有限等造成的图像失真;三是运动模糊,被拍摄景物与成像传感器之间因存在相对运动引起所成图像

的运动模糊;四是图像在数字化处理、成像以及数据采集过程中引入的噪声;五是其他方面的原因,包括因光学系统或成像传感器本身特性不均匀所产生的灰度失真以及大气成分变化引起图像失真等。

(三)常见的图像复原方法的分类。图像复原大致可以分为两种方法:一种方法是估计方法,该方法比较适用于缺乏图像先验知识的情况,针对这种情况可对图像退化过程建立模型进行描述,进而寻找一种去除或削弱其影响的过程;另一种方法是针对原始图像有足够的先验知识的情况,通过对原始图像建立一个数学模型并根据它对退化图像进行拟合,进而可以获得更佳的复原效果。

以上两种方法各有优缺点,前者不需要先验知识,但其缺点是速度较慢,效果也不如后者;而后者只要有正确的模型,就可在相对较短的时间内得到较好的图像复原效果,其缺点是在建立准确的模型上,还存在很大的困难。

二、典型的模糊图像复原方法分析

(一)逆滤波法。逆滤波法考虑图像的退化过程是原始图像f(u,v)通过系统h并与加性噪声n(u,v)相叠加而形成退化图像。逆滤波的方法是直接将退化过程h的逆变换与退化图像进行反卷积。利用傅里叶变换卷积特性,上述过程可以表述为:

就是恢复后图像的傅里叶变换。其中,g(u,v)是输入图像的傅里叶变换,n(u,v)是噪声的傅里叶变换,h(u,v)是点扩散函数,即退化过程的傅里叶变换。

需要说明的是逆滤波对于没有被噪声污染的图像很有效,但是实际应用中,噪声通常无法计算,因此通常忽略加性噪声,而当噪声存在时,该算法就对噪声有放大作用,如果对一幅有噪声的图像进行恢复,噪声可能占据了整个恢复结果。

(二)维纳滤波法。维纳滤波法可以归于逆滤波算法一类,它是由wiener首先提出的,并应用于一维信号,取得很好的效果。维纳滤波恢复是在假定图像信号可近似看作平稳随机过程的前提下,按照使原图像f(x,y)与恢复后的图像之间的均方误差e2达到最小的准则,来实现图像恢复的。即:

在后来的维纳滤波法算法又被引入二维信号处理,并取得相当满意的效果,尤其在图像复原领域。由于维纳滤波器的复原效果良好,计算量较低,并且抗噪性能优良,因而在图像复原领域得到了广泛的应用,并不断得到改进,许多高效的复原算法都是以此为基础形成的。

(三)rl算法。rl算法是一种迭代方法,在复原hst(哈勃太空望远镜)图像是得到了广泛的应用,是目前应用较多的模糊图像复原技术之一。rl算法能够按照泊松噪声统计标准求出与给定psf卷积后,最有可能成为输入模糊图像的图像。当psf已知,但图像噪声信息未知时,也可以使用这种恢复方法进行有效恢复。在符合泊松统计前提下,推导如下:

其中,f(j)为未被模糊对像,p(i|j)为psf(点扩散函数),g(i)为不含噪声的模糊图像。需要指出的是对于没有噪声干扰的

理想模糊图像,迭代次数越多恢复的效果越好。在无噪声情况下,rl每次迭代时,都会提高解的似然性,随着迭代次数的增加,最终将会收敛在最大似然性的解,但随着迭代次数的增加也会增加计算量。

三、用matlab实现维纳滤波恢复算法的实例分析

matlab软件提供了多类图像处理函数,涵盖了图像处理包括近期研究成果在内的几乎所有的技术方法。考虑到设计的复杂性以及时间的有限性,本实例的图像复原利用matlab数字图像处理工具箱来完成。

在本实例的程序中仿真了一个运动模糊psf,对原图像进行模糊操作,并指定运动位移为50个像素,运动角度为45度。利用函数deconvwnr进行维纳滤波复原图像,调用格式为:wnr=deconvwnr (blurrednoisy,psf)。由于直接用无信噪比nsr参数的函数deconvwnr进行复原的滤波效果很差,因此引人信噪比nsr作为噪声参数进行图像复原,即:

noise=imnoise(zeros(size(i)),’gaussian’,0,0.01);nsr=sum(noise(:).)/sum(im2double(i(:)).);

wnr=deconvwnr(blurrednoisy,psf,nsr);

其中,matlab实现该算法的核心源代码如下。

i=imread(’abc.png’);

figure(1);imshow(i);

len=45;

theta=35;

psf=fspecial(’motion’,len,theta);

wnr=deconvwnr(i,psf);

figure,imshow(wnr);

在用matlab实现维纳滤波复原方法中发现采用维纳滤波复原算法可以使估计的点扩散函数值psf更加接近它的真实值,也就是说恢复处理的图像与原始的图像基本趋同,获得的图像复原处理效果比较理想。

参考文献:

[1]孟昕.运动模糊图像恢复的算法研究与分析[j].计算机技术与发展,2009,8.

[2]刘微.运动模糊图像恢复过程中的几个关键问题[j].电子器件,2008,3.

[3]陈慧蓉.基于波方程的运动模糊图像恢复[j].清华大学学报,2010,7.

相关文档
最新文档