数字图像运动模糊处理.docx
《数字图像运动模糊处理.docx》由会员分享,可在线阅读,更多相关《数字图像运动模糊处理.docx(17页珍藏版)》请在冰豆网上搜索。
数字图像运动模糊处理
一:
数字图像处理简介
数字图像处理(DigitalImageProcessing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。
数字图像处理(DigitalImageProcessing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。
数字图像处理的产生和迅速发展主要受三个因素的影响:
一是计算机的发展;二是数学的发展(特别是离散数学理论的创立和完善);三是广泛的农牧业、林业、环境、军事、工业和医学等方面的应用需求的增长。
数字图像处理主要研究的内容有以下几个方面:
1)图像变换由于图像阵列很大,直接在空间域中进行处理,涉及计算量很大。
因此,往往采用各种图像变换的方法,如傅立叶变换、沃尔什变换、离散余弦变换等间接处理技术,将空间域的处理转换为变换域处理,不仅可减少计算量,而且可获得更有效的处理(如傅立叶变换可在频域中进行数字滤波处理)。
目前新兴研究的小波变换在时域和频域中都具有良好的局部化特性,它在图像处理中也有着广泛而有效的应用。
2)图像编码压缩图像编码压缩技术可减少描述图像的数据量(即比特数),以便节省图像传输、处理时间和减少所占用的存储器容量。
压缩可以在不失真的前提下获得,也可以在允许的失真条件下进行。
编码是压缩技术中最重要的方法,它在图像处理技术中是发展最早且比较成熟的技术。
3)图像增强和复原图像增强和复原的目的是为了提高图像的质量,如去除噪声,提高图像的清晰度等。
图像增强不考虑图像降质的原因,突出图像中所感兴趣的部分。
如强化图像高频分量,可使图像中物体轮廓清晰,细节明显;如强化低频分量可减少图像中噪声影响。
图像复原要求对图像降质的原因有一定的了解,一般讲应根据降质过程建立"降质模型",再采用某种滤波方法,恢复或重建原来的图像。
4)图像分割图像分割是数字图像处理中的关键技术之一。
图像分割是将图像中有意义的特征部分提取出来,其有意义的特征有图像中的边缘、区域等,这是进一步进行图像识别、分析和理解的基础。
虽然目前已研究出不少边缘提取、区域分割的方法,但还没有一种普遍适用于各种图像的有效方法。
因此,对图像分割的研究还在不断深入之中,是目前图像处理中研究的热点之一。
5)图像描述是图像识别和理解的必要前提。
作为最简单的二值图像可采用其几何特性描述物体的特性,一般图像的描述方法采用二维形状描述,它有边界描述和区域描述两类方法。
对于特殊的纹理图像可采用二维纹理特征描述。
随着图像处理研究的深入发展,已经开始进行三维物体描述的研究,提出了体积描述、表面描述、广义圆柱体描述等方法。
6)图像分类(识别)图像分类(识别)属于模式识别的范畴,其主要内容是图像经过某些预处理(增强、复原、压缩)后,进行图像分割和特征提取,从而进行判决分类。
图像分类常采用经典的模式识别方法,有统计模式分类和句法(结构)模式分类,近年来新发展起来的模糊模式识别和人工神经网络模式分类在图像识别中也越来越受到重视。
数字图像处理的工具可分为三大类:
第一类包括各种正交变换和图像滤波等方法,其共同点是将图像变换到其它域(如频域)中进行处理(如滤波)后,再变换到原来的空间(域)中。
第二类方法是直接在空间域中处理图像,它包括各种统计方法、微分方法及其它数学方法。
第三类是数学形态学运算,它不同于常用的频域和空域的方法,是建立在积分几何和随机集合论的基础上的运算。
由于被处理图像的数据量非常大且许多运算在本质上是并行的,所以图像并行处理结构和图像并行处理算法也是图像处理算法也是图像处理中的主要研究方向。
二:
图像模糊绪论
运动模糊图像的恢复是图像处理的一大难题,其原因在于图像模糊的成因复杂,加之图像的损伤较大。
在图像拍摄记录的过程中,由于被摄物与成像系统产生相对运动造成图像降质而导致的图像模糊称为运动模糊。
研究其恢复技术具有重要意义,以往数字图像处理许多值得注意的成就都是在这一领域取得的,其中由匀速直线运动所造成的图像模糊更具有一般性和代表性L1],因为变速的、非直线的运动在成像瞬间可以视为匀速直线运动。
图像恢复可在空间域进行,也可在频率域进行L2],其中空间域图像恢复比较简单,因其不涉及系统转移函数,仅是根据运动模糊的逆过程直接进行恢复,而且当移动的像素数刚好为整数时,情况最为简单;当移动的像素数不刚好为整数时,则需采用四舍五人的近似法进行恢复,人们通常用与之最接近的整数来讨论。
三:
匀速直线运动模糊的退化模型
在所有的运动模糊中,由匀速直线运动造成图象模糊的复原问题更具有一般性和普遍意义。
因为变速的、非直线运动在某些条件下可以被分解为分段匀速直线运动。
本节只讨论由水平匀速直线运动而产生的运动模糊。
假设图象
有一个平面运动,令
和
分别为在x和y方向上运动的变化分量,T表示运动的时间。
记录介质的总曝光量是在快门打开后到关闭这段时间的积分。
则模糊后的图象为:
(2-2)
式中g(x,y)为模糊后的图象。
以上就是由于目标与摄像机相对运动造成的图象模糊的连续函数模型。
如果模糊图象是由景物在x方向上作匀速直线运动造成的,则模糊后图象任意点的值为:
(2-3)
式中
是景物在x方向上的运动分量,若图象总的位移量为a,总的时间为T,则运动的速率为
=at/T。
则上式变为:
(2-4)
以上讨论的是连续图象,对于离散图象来说,对上式进行离散化得:
(2-5)
其中L为照片上景物移动的像素个数的整数近似值。
是每个像素对模糊产生影响的时间因子。
由此可知,运动模糊图象的像素值是原图象相应像素值与其时间的乘积的累加。
从物理现象上看,运动模糊图象实际上就是同一景物图象经过一系列的距离延迟后再叠加,最终形成的图象。
如果要由一幅清晰图象模拟出水平匀速运动模糊图象,可按下式进行:
(2-6)
这样可以理解此运动模糊与时间无关,而只与运动模糊的距离有关,在这种条件下,使实验得到简化。
因为对一幅实际的运动模糊图象,由于摄像机不同,很难知道其曝光时间和景物运动速度。
我们也可用卷积的方法模拟出水平方向匀速运动模糊。
其过程可表示为:
(2-7)
其中
(2-8)
h(x,y)称为模糊算子或点扩散函数,“*”表示卷积,
表示原始(清晰)图象,
表示观察到的退化图象。
如果考虑噪声的影响,运动模糊图象的退化模型可以描述为一个退化函数和一个加性噪声项
,处理一幅输入图象
产生一幅退化图象
。
(2-9)
由于空间域的卷积等同于频率域的乘积,所以式(2-9)的频率域描述为:
(2-10)
式(2-9)中的大写字母项是式(2-10)中相应项的傅里叶变换。
四:
维纳滤波简介
如果取
(3-3)
和
分别是图象和噪声的自相关矩阵。
即
,
,并且都是正定对称矩阵,则有
(3-4)
的模方最小,实际上就意味着使噪声和信号的比对复原图象影响最小。
因为图象和噪声的相关矩阵都是把图象当作随机过程来研究,从而描述其统计特性的量,在这里最小二乘方的最佳已经演变成均方误差最小准则下的最佳。
同样根据式(3-4)可求得频域维纳滤波公式如下
(3-5)
=1时,为标准维纳滤波器;
≠1时,为含参维纳滤波器。
若没有噪声时
即
=0,维纳滤波器则退化成理想反滤波器。
实际应用中必须调节
以满足式(3-4)。
因为
实际很难求得因此,可以用一个比值k代替两者之比,从而得到简化的维纳滤波公式
维纳滤波MATLAB实现
J=deconvmnr(I,PSF)
J=deconvwnr(I,PSF,NSR)
J=deconvmnr(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表示噪声或图像的功率。
五:
有约束最小二乘复原原理
由于大多数图象恢复问题都不具有唯一解,或者说恢复具有病态特征。
为了克服这一问题,通常需要在恢复过程中对运算施加某种约束。
设对图象施加某一线性运算Q,求在约束条件
(3-7)
下,使
为最小的
作为原图
的最佳估计。
利用拉格朗日乘数法,先构造一辅助函数:
(3-8)
令
可得:
(3-9)
解之得:
(3-10)
式中
。
把式(3-10)代入式(3-7)中可以证明,
是
的单调递增函数。
因此可以用迭代法求出满足约束条件(3-7)式的待定系数
,首先任取一个
代入(3-10),把求得的
再代入式(3-7),若结果大于
时,便减少
;反之增大
,再重复上述过程,直到约束条件式(3-11)被满足为止(实际求解时,只要能
之差小于某一给定值就可以了)。
把求得的
代入,便最后求得最佳估计
。
我们可以直接从空间域的有约束最小二乘方恢复式(3-10)得到它的频域解
(3-11)
应用有约束最小二乘方恢复方法时,只需有关噪声均值和方差的知识就可对每幅给定的图象给出最佳恢复结果。
最小二乘方图像复原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以及拉格朗日乘数。
六:
Lucy-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的极大似然值,它是原始图像在泊松统计标准下的一个实例。
J=deconvlucy(I,PSF,NUMIT)中的NUMIT用于指定deconvlucy函数迭代的次数,如果不指定,默认值为10。
J=deconvlucy(I,PSF,NUMIT,DAMPAR)中的DAMPAR用于指定结果图像的偏差阈值,默认值为0;该参数指定了在收敛过程中,结果图像J与原始图像I背离的程度。
J=deconvlucy(I,PSF,NUMIT,DAMPAR,WEIGHT)中的WRIGHT表示每个像素的加权值,它记录了每个像素反映相机记录的质量。
J=deconvlucy(I,PSF,NUMIT,DAMPAR,WEIGHT,READOUT)中的READOUT制定了加性噪声值和读出相机噪声值,默认值为0。
J=deconvlucy(I,PSF,NUMIT,DAMPAR,WEIGHT,READOUT,SUBSMPL)中的SUBSMPL描述了已知PSF时子采样次数,默认值为1。
七:
盲去卷积图像复原MATLAB实现
盲去卷积复原实在不知道PSF的情况下,利用原始模糊图像,同时顾及PSF和清晰图像的一种恢复方法。
MATLAB提供了盲去卷积复原函数deconvblind,该函数的语法格式如下:
[J,PSF]=deconvblind(I,INITPSF)
[J,PSF]=deconvblind(I,INITPSF,NUMIT)
[J,PSF]=deconvblind(I,INITPSF,NUMIT,DAMPAR)
[J,PSF]=deconvblind(I,INITPSF,NUMIT,DAMPAR,WEIGHT)
[J,PSF]=deconvblind(I,INITPSF,NUMIT,DAMPAR,WEIGHT,READOUT)
[J,PSF]=deconvblind(...FUN,P1,P2,...,PN)
说明:
[J,PSF]=deconvblind(I,INITPSF)利用最大似然算法去卷积图像I,返回复原图像J和复原的PSF。
INITPSF表示PSF的估计值;参数NUMIT用于指定迭代的次数,默认值为10;
参数DAMPAR用于指定结果图像的偏差阈值,默认值为0;参数WEIGHT制定了在图像复原中,采用输入图像I的哪些像素。
参数READOUT用于指定相应的加性噪声值和读出相机的噪声值,默认为0。
[J,PSF]=deconvblind(...FUN,P1,P2,...,PN)中的FUN是一个描述PSF附加约束的函数。
八:
程序
j=imread('airjordan.jpg');
figure
(1);
imshow(j);
title('Airj原图像');
len=20;
theta=30;
psf=fspecial('motion',len,theta);
aj=imfilter(j,psf,'circular','conv');
noise=imnoise(zeros(size(j)),'gaussian',0,0.001);
ajn=imadd(aj,im2uint8(noise));
figure
(2);imshow(ajn);
title('AirjPSF模糊图像');
nsr=sum(noise(:
).^2)/sum(aj(:
).^2);
wnr1=deconvwnr(ajn,psf,nsr);
figure(3);imshow(wnr1);
title('AirJ维纳滤波处理后图像');
np=0.002*prod(size(j));
er=deconvreg(ajn,psf,np/3.0);
figure(4);imshow(er);
title('AirJ最小二乘方复原');
lucy=deconvlucy(ajn,psf);
figure(5);imshow(lucy);
title('AirJLucyrichardson图像复原');
INITPSF=ones(size(psf));
[mang,psf]=deconvblind(ajn,INITPSF,30);
figure(6);imshow(mang);
title('AirJ盲去卷积复原');
九:
图像处理结果
原图像
PSF模糊图像
维纳处理结果
最小二乘方处理结果
Lucy-richardson处理结果
盲去卷积处理结果
十:
复原结果比较
从恢复的图像来看,效果还是可以的,因为这里采用了真实PSF函数来恢复,但是实际生活当中大多数情况下PSF是不知道的,所以要按照具体情况具体分析然后再恢复图像。
综合以上三种方法,通过对多幅图像的处理并比较可以看出最小二乘方处理结果、Lucy-richardson处理结果、处理效果较好,而维纳处理、盲去卷积处理效果相对较差。
最小二乘对无噪声图像或是低噪声图像的复原效果较好,但对高噪声的图片处理的效果就很差。
高噪声图像用维纳滤波处理效果较好。
十一:
实验小结
本次试验处理了图像模糊的情况,创建了仿真运动模糊PSF来模糊的图像,自己设计了复原滤波器,上网查阅了大量资料,在基于课本的程序上实现了PSF,维纳滤波处理图像的能力,并从网上查阅了,最小二乘滤波,盲去卷积滤波法,Lucy-richardason滤波原理,算法,通过这次设计提高了对数字图像处理的理解,加深了一些算法的应用。