基于MATLAB的运动模糊图像恢复技术

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

基于MATLAB的运动模糊图像恢复技术

王洪珏

(温州医学院,浙江,温州)

摘要:MATLAB是当今流行的科学计算软件,它具有很强的数据处理能力。在其图像处理工具箱中有四个图像复原函数,本文就这些函数的算法原理、运用和恢复处理效果结合实力效果作简要对比讨论。

0前言

图像复原时图像处理中一个重要的研究课题。图像在形成、传输和记录的过程中,由于传感器的噪声、摄像机未对好焦、摄像机与物体相对运动、系统误差、畸变、噪声等因素的影响,使图像往往不是真实景物的完善影像。这种图像在形成、传输和记录过程中,由于成像系统、传输介质和设备的不完善,使图像质量下降的过程称为图像的退化。图像复原就是通过计算机处理,对质量下降的图像加以重建或恢复的过程。

图像复原过程一般为:找退化原因→建立退化模型→反向推演→图像复原

1算法产生概述

开发算法时,首先要创建图像退化的线性数学模型,接着选择准则函数,并以适当的数学形式表达,然后进行数学推演。推演过程中通常要进行表达形式(即空域形式、频域形式、矩阵-矢量形式或变换域形式)的相互转换,最后得到图像复原算式。

退化数学模型的空域、频域、矢量-矩阵表达形式分别是:

g(x,y)=d(x,y)*f(x,y)+n(x,y)

G(u,v)=D(u,v)·F(u,v)+N(u,v)

g=HF+n

其中:g(x,y)、d(x,y)、f(x,y)、n(x,y)分别为观测的退化图像、模糊函数、原图像、加性噪声,*为卷积运算符,(x=0,1,2,…,M-1),(y=0,1,2,…,N-1)。

2运动模糊的产生

景物与相机之间的相对运动通常会使相机所成的像存在运动模糊。对于线性移不变模糊,退化图像u0可以写成,u0=h*u+n,其中h为模糊核,*表示卷积,n为加性噪声。

由du/dt=0,文献[5]将这种运动模糊过程描述为波动方程:

аu/аt+V x аu/аx+V y аu/аy=0

其中,V x =dx/dt,V y =dy/dt 为x,y 方向上的速度分量并且通过分析该方程的达朗贝尔解

得出结论:

vаu 0/аx=u(x)-u(x-L)

其中L 后图像的差,这里L 也可以认为是模糊长度。

在MATLAB 中,可以由fspecial 函数创建一个确定类型的PSF(点扩散函数),然后使用这个PSF 与原始图像进行卷积,从而得到退化(模糊)的图像。

3维纳滤波图像复原MATLAB 实现

MATLAB 图像处理工具箱提供了维纳滤波图像复原函数deconvwnr,该函数的语法格下:

J=deconvwnr(I,PSF)

J=deconvwnr(I,PSF,NSR)

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

说明:

J=deconvwnr(I,PSF)用于复原由于PSF 以及可能的加性噪声卷积退化的图像I,该算法利用图像和噪声的相关矩阵,从估计图像与真实图像之间的最小均方误差意义上来说是最佳的。在没有噪声的情况下,维纳滤波器退化成理想的逆滤波器。

J=deconvwnr(I,PSF,NSR)中的NSR 是信噪功率比,NSR 可以是标量,或者是和图像I 一样大小尺寸的数组,NSR 的默认值为0。

J=deconvwnr (I,PSF,NCORR,ICORR)中的NCORR 和ICORR 分别是噪声和原始图像的自相关函数。NCORR 和ICORR 是不超过原始图像的尺寸和维数的任意尺寸和维数。一个N 维的NCORR 或ICORR 数组对应每一维的自相关,如果PSF 为向量,则向量NCORR 或ICORR 代表第一维的自相关函数;如果PSF 为数组,则一维的自相关函数由PSF 所有的非单维对称计算推得,标量NCORR 或ICORR 表示噪声或图像的功率。

4最小二乘方图像复原MATLAB 实现

MATLAB 图像工具箱子提供了deconvreg 函数,用来完成对模糊图像的约束最小二乘方复原。deconvreg 函数语法格式如下:

J=deconvreg(I,PSF)

J=deconvreg(I,PSF,NOISEPOWER)

J=deconvreg(I,PSF,NOISEPOWER,LRANGE)

J=deconvreg(I,PSF,NOISEPOWER,LRANGE,REGOP)

[J,LAGRA]=deconvreg(I,PSF,...)

说明:

J=deconvreg(I,PSF)用于复原由于PSF以及可能的加性噪声退化的图像,在保持图像平滑的条件下,该算法在估计图像和实际图像间的最小二乘方误差的意义上来说是最佳的。

J=deconvreg(I,PSF,NOISEPOWER)中的NOISEPOWER是加性噪声功率,默认值是0;

J=deconvreg(I,PSF,NOISEPOWER,LRANGE)中的向量LRANGE制定了寻找最佳解的范围,该算法就是在LRANGE的范围内找到最佳的拉格朗日乘数。如果LRANGE是标量,算法假定LAGRA已经给定并等于LRANGE,此时忽略NOISEPOWER的值。LRANGE默认的范围为[le-9le9];

J=deconvreg(I,PSF,NOISEPOWER,LRANGE,REGOP)中的REGOP是约束自相关的规则化算子。拉普拉斯算子是保持图像平滑的默认算子。REGOP的维数不能超过图像的维数,任意非单维必须与PSF的非单维相对应。

[J,LAGRA]=deconvreg(I,PSF,...)输出复原图像J以及拉格朗日乘数。

5Lucy-Richardson图像复原MATLAB实现

当已知PSF,但对噪声的信息知道很少或者不知道噪声信息时,可以用Lucy-Richardson 算法得到效果较好的复原图像。Lucy-Richardson采用迭代法,能够按照泊松噪声统计标准求出给定PSF卷积后,最有可能成为输入模糊图像的图像。MATLAB提供了deconvlucy函数,该函数通过加速收敛的迭代算法完成图像的复原。为了改善图像复原的质量,光学系统的特性也可以作为该函数的输入参数。deconvlucy函数的语法格式如下:

J=deconvlucy(I,PSF)

J=deconvlucy(I,PSF,NUMIT)

J=deconvlucy(I,PSF,NUMIT,DAMPAR)

J=deconvlucy(I,PSF,NUMIT,DAMPAR,WEIGHT)

J=deconvlucy(I,PSF,NUMIT,DAMPAR,WEIGHT,READOUT)

J=deconvlucy(I,PSF,NUMIT,DAMPAR,WEIGHT,READOUT,SUBSMPL)

说明:

J=deconvlucy(I,PSF用于恢复由PSF卷积和可能的加性噪声引起的退化的图像。该算法基于结果复原图像J的极大似然值,它是原始图像在泊松统计标准下的一个实例。

相关文档
最新文档