资源描述
3.1 图像的复原主要内容v图像退化的原因v图像退化模型的建立v图像复原的方法重点与难点重点:图像退化的原因图像退化模型图像恢复的方法难点图像退化模型的建立图像复原的方法1 图像的退化1.1图像退化的原因图像退化的原因(1)目标或拍摄装置的移动造成的运动模糊、长时间曝光引起的模糊等。(2)焦点没对准、广角引起的模糊、大气扰动引起的模糊、曝光时间太短引起拍摄装置捕获的光子太少引起的模糊;(3)散焦引起的图像扭曲;(4)图像在成像、数字化、采集和处理过程引入的噪声。光学散焦造成的图像退化光学散焦造成的图像退化散焦对应的点扩展函数散焦对应的点扩展函数l目标相对运动造成的图像退化目标相对运动造成的图像退化运动形成的模糊示例运动形成的模糊示例图像退化效果图像退化效果对应的点扩展函数对应的点扩展函数1.2图像退化的数学模型图像退化的数学模型 图像复原的关键是建立图像的退化模型,一幅清晰的图像通过一个退图像复原的关键是建立图像的退化模型,一幅清晰的图像通过一个退化系统化系统H,然后加入加性噪声能够生成一幅退化图像,图像的退化模型如,然后加入加性噪声能够生成一幅退化图像,图像的退化模型如下图所示。下图所示。以上模型可以用下面的数学表达式表述:以上模型可以用下面的数学表达式表述:g(x,y)=h(x,y)*f(x,y)+n(x,y)g(x,y)指退化的图像,指退化的图像,h(x,y)失真函数,失真函数,f(x,y)原图像原图像,n(x,y)加性噪声,加性噪声,*代表卷积代表卷积 由于数字图像都是离散形式的,因此在实际应用中,图像的退由于数字图像都是离散形式的,因此在实际应用中,图像的退化模型可以写成如下表达式,离散形式的退化模型化模型可以写成如下表达式,离散形式的退化模型若图像中不含有噪声,即若图像中不含有噪声,即n(x,y)=0,则数学表达式简化为如下形式:则数学表达式简化为如下形式:在空间域中,卷积运算对应于频域的相乘,上面的模型可以用在空间域中,卷积运算对应于频域的相乘,上面的模型可以用空间域的模型表示为:空间域的模型表示为:G(u,v)=H(u,v)F(u,v)+N(u,v)G(u,v),H(u,v),F(u,v),N(u,v)分别用分别用g(u,v),h(u,v),f(u,v),n(u,v)的频域表示。的频域表示。上面的退化模型可以简写为如下形式:上面的退化模型可以简写为如下形式:g=Hf+ng图像质量退化的图像图像质量退化的图像H失真函数,即点扩散函数,点扩散函数描述的是一个光学系失真函数,即点扩散函数,点扩散函数描述的是一个光学系统对真实图像的模糊程度。统对真实图像的模糊程度。f指真实图像指真实图像n是加性噪声。是加性噪声。图像去模糊的主要任务是用点扩散反卷积模糊的图像。图像去模糊的主要任务是用点扩散反卷积模糊的图像。1.3图像的噪声图像的噪声 数字图像的噪声主要来自数字图像的获取和传输过程。图像中的噪声数字图像的噪声主要来自数字图像的获取和传输过程。图像中的噪声种类很多,常见的噪声有高斯噪声、瑞丽噪声、伽马噪声,指数分布噪声、种类很多,常见的噪声有高斯噪声、瑞丽噪声、伽马噪声,指数分布噪声、椒盐噪声等,并由此建立相应的模型。椒盐噪声等,并由此建立相应的模型。imnoise函数可以在图像中加入噪声。函数可以在图像中加入噪声。例例1:通过均值和方差来产生高斯噪声:通过均值和方差来产生高斯噪声clear all;I=uint8(100*ones(256,256);%建立均值为建立均值为100的图像数据的图像数据J=imnoise(I,gaussian,0,0.01);%加入方差为加入方差为0.01的高斯噪声的高斯噪声K=imnoise(I,gaussian,0,0.03);%加入方差为加入方差为0.03的高斯噪声的高斯噪声figure;subplot(231);imshow(I);xlabel(a)图像图像);subplot(232);imhist(I);xlabel(b)图像直方图图像直方图);subplot(233);imshow(J);xlabel(c)含方差为含方差为0.01的高斯噪声图像的高斯噪声图像);subplot(234);imhist(J);xlabel(d)0.01的噪声图像直方图的噪声图像直方图);subplot(235);imshow(K);xlabel(e)含方差为含方差为0.03的高斯噪声图像的高斯噪声图像);subplot(236);imhist(K);xlabel(f)0.03的噪声图像直方图的噪声图像直方图);例2:通过位置信息来产生高斯噪声clear all;I=imread(coins.png);I=im2double(I);V=zeros(size(I);for i=1:size(V,1)V(i,:)=0.02*i/size(V,1);endJ=imnoise(I,localvar,V);figure;subplot(121);imshow(I);xlabel(a)图像图像);subplot(122);imshow(J);xlabel(b)噪声图像噪声图像)例3:根据亮度值来产生高斯噪声clear all;I=imread(cameraman.tif);I=im2double(I);h=0:0.1:1;v=0.01:-0.001:0;J=imnoise(I,localvar,h,v);figure;subplot(121);imshow(I);xlabel(a)图像图像);subplot(122);imshow(J);xlabel(b)噪声图像噪声图像)例4:添加椒盐噪声clear all;I=imread(cameraman.tif);I=im2double(I);J=imnoise(I,salt&pepper,0.01);K=imnoise(I,salt&pepper,0.03);figure;subplot(121);imshow(J);xlabel(a)0.01噪声图像噪声图像);subplot(122);imshow(K);xlabel(b)0.03噪声图像噪声图像)2图像复原的模型 图像的复原是图像退化的逆过程,它尽可能地恢复退化图像的本来图像的复原是图像退化的逆过程,它尽可能地恢复退化图像的本来面目。一般来说,图像复原是指在建立系统退化模型的基础上,以退化面目。一般来说,图像复原是指在建立系统退化模型的基础上,以退化图像为依据,运用某些先验知识,将劣化了的图像以最大的保真度复原图像为依据,运用某些先验知识,将劣化了的图像以最大的保真度复原图像。图像。图像的复原关键取决于对于图像退化过程的先验知识所掌握的精度图像的复原关键取决于对于图像退化过程的先验知识所掌握的精度和建立的退化模型是否合适。和建立的退化模型是否合适。图像的复原模型:图像的复原模型:g(x,y)是指退化的图像,是指退化的图像,w(x,y)是指图像复原滤波器,是指图像复原滤波器,恢复的图像恢复的图像 由于引起图像质量退化的原因很多,因此为了消除图像质由于引起图像质量退化的原因很多,因此为了消除图像质量的退化而采取的图像复原方法有很多种,而恢复的质量标准量的退化而采取的图像复原方法有很多种,而恢复的质量标准也不尽相同,因此图像的复原是一个复杂的数学过程,其方法也不尽相同,因此图像的复原是一个复杂的数学过程,其方法技术也各不相同。技术也各不相同。在给定退化模型的情况下,图像复原可以分为在给定退化模型的情况下,图像复原可以分为无约束无约束无约束无约束和和有有有有约束约束约束约束两大类;而根据是在频域恢复还是在空域恢复图像,图像两大类;而根据是在频域恢复还是在空域恢复图像,图像复原可以划分为复原可以划分为频域复原频域复原频域复原频域复原方法和方法和空域复原空域复原空域复原空域复原方法。方法。3图像的复原方法 4种图像复原的函数:种图像复原的函数:维纳滤波器复原维纳滤波器复原 规则化滤波器复原规则化滤波器复原 Lucy-Richardson方法复原方法复原 盲反卷积复原盲反卷积复原3.1维纳滤波维纳滤波使用使用deconvwnr函数进行维纳滤波器图像复原函数进行维纳滤波器图像复原常见的调用格式:常见的调用格式:J=deconvwnr(I,PSF)J=deconvwnr(I,PSF,NSR)J=deconvwnr(I,PSF,NCORR,ICORR)I指退化的图像,是原图像卷积一个点扩散函数PSF然后加上加性噪声得到的。NSR是噪声信号功率比,可为一标量,也可为与I同样大小的矩阵,默认值为0NCORR和ICORR分别是信号和原图像的自相关函数。J是返回的复原图像。例例1:维纳滤波复原图像:维纳滤波复原图像维纳(wiener)滤波最早是由Wiener提出,针对一维、二维信号进行复原,计算量较低,但效果较好。例:通过维纳滤波对运动模糊进行复原。clear all;I=imread(onion.png);I=rgb2gray(I);I=im2double(I);LEN=25;THETA=20;PSF=fspecial(motion,LEN,THETA);J=imfilter(I,PSF,conv,circular);NSR=0;K=deconvwnr(J,PSF,NSR);figure;subplot(131);imshow(I);xlabel(a)原图像原图像);subplot(132);imshow(J);xlabel(b)退化图像退化图像)subplot(133);imshow(K);xlabel(c)复原图像复原图像)3.2规则化规则化(最小二乘最小二乘)滤波滤波 规则化滤波是在知道噪声信息的情况下有效的反卷积方法,规则化滤波器规则化滤波是在知道噪声信息的情况下有效的反卷积方法,规则化滤波器滤波的函数是滤波的函数是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,NOISEPOWER,LRANGE,REGOP)I是退化的图像PSF是点扩散函数NOISEPOWER是加性噪声的能量,默认值为0;LANGE是函数优化过程中拉格朗日算子的范围,默认值为1e-9,1e9REGOP是约束优化中的规则化操作,默认值为laplacian操作;J是去模糊后返回的图像LAGRA是返回的拉格朗日算子。例例2:规则化复原图像:规则化复原图像clear all;I=imread(rice.png);I=im2double(I);PSF=fspecial(motion,8,4);J=imfilter(I,PSF,conv);%退化退化figure;subplot(221);imshow(I);xlabel(a)原图像原图像);subplot(222);imshow(J);xlabel(b)退化图像退化图像)v=0.02;K=imnoise(J,gaussian,0,v);%噪声噪声NP=v*prod(size(I);L=deconvreg(K,PSF,NP);subplot(223);imshow(K);xlabel(c)噪声图像噪声图像);subplot(224);imshow(L);xlabel(d)复原图像复原图像)3.3Lucy-Richardson Lucy-Richardson(简称(简称L-R)滤波器方法假设噪声)滤波器方法假设噪声服从泊松分布服从泊松分布服从泊松分布服从泊松分布,基于贝,基于贝叶斯理论使产生图像的似然性达到最大。在叶斯理论使产生图像的似然性达到最大。在matlab图像处理工具箱中,使用图像处理工具箱中,使用Lucy-Richardson滤波器方法复原图像的函数为滤波器方法复原图像的函数为deconvlucy。该函数在最初的。该函数在最初的Lucy-Richardson方法的基础上进行了一下改进:方法的基础上进行了一下改进:(1)减小放大噪声的影响减小放大噪声的影响(2)对图像质量不均匀的像素进行修正。对图像质量不均匀的像素进行修正。deconvlucy函数的调用方式:函数的调用方式:J=deconvlucy(I,PSF)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,SUBSMPLI是指要复原的退化图像PSE是点扩散函数NUMIT是指迭代的次数,默认值为10DAMPAR规定了原图像和恢复图像之间的偏差WEIGHT是一个权重矩阵,它规定了图像I中的坏像素的权值为0,其它的为1,默认值为跟I同样维数的全1矩阵;READOUT是与噪声和读出设备有关的参数,默认值为0;SUBSMPL是指二次抽样频率,默认值为1;J是反卷积后恢复出来的图像例3:Lucy-Richardson方法复原图像clear all;I=imread(rice.png);I=im2double(I);LEN=30;THETA=20;PSF=fspecial(motion,LEN,THETA);J=imfilter(I,PSF,circular,conv);%图像退化图像退化figure;subplot(221);imshow(I);xlabel(a)原图像原图像);subplot(222);imshow(J);xlabel(b)退化图像退化图像);K=deconvlucy(J,PSF,20);L=deconvlucy(J,PSF,35);subplot(223);imshow(K);xlabel(c)20次迭代复原图像次迭代复原图像)subplot(224);imshow(J);xlabel(d)35次迭代复原图像次迭代复原图像);例4:对彩色图像进行模糊,增加噪声,然后利用Lucy-Richardson滤波器对其进行复原处理clear all;I=imread(board.tif);I=I(50+1:256,2+1:256,:);subplot(131);imshow(I);xlabel(a)原始图像);PSF=fspecial(gaussian,5,5);%创建PSFBlurred=imfilter(I,PSF,symmetric,conv);%图像中创建一个模拟的模糊和添加噪声V=.002;BlurredNoisy=imnoise(Blurred,gaussian,0,V);%图像中添加噪声subplot(132);imshow(BlurredNoisy);xlabel(b)降质图像);%使用deconvlucy函数复原模糊图像luc1=deconvlucy(BlurredNoisy,PSF,5);subplot(133);imshow(luc1);xlabel(c)图像复原);3.4盲反卷积盲反卷积 盲反卷积是在盲反卷积是在Lucy-Richardson算法的基础上改进的方法,算法的基础上改进的方法,该方法在不知该方法在不知该方法在不知该方法在不知道模糊和噪声信息的情况下很有效道模糊和噪声信息的情况下很有效道模糊和噪声信息的情况下很有效道模糊和噪声信息的情况下很有效。使用盲反卷积进行图像复原的函数为。使用盲反卷积进行图像复原的函数为deconvblind,其常见调用方法:其常见调用方法:J,PSE=deconvblind(I,INITPSE)J,PSE=deconvblind(I,INITPSE,NUMIT)J,PSE=deconvblind(I,INITPSE,NUMIT,DAMPAR)J,PSE=deconvblind(I,INITPSE,NUMIT,DAMPAR,WEIGHT)J,PSE=deconvblind(I,INITPSE,NUMIT,DAMPAR,WEIGHT,READOUT)I是指要恢复的模糊的图像INITPSE是初始的PSE函数NUMIT是指迭代的次数,默认值为10DAMPAR规定了原图像和恢复图像之间的偏差;WEIGHT是一个权重矩阵,它规定了图像I中的坏像素的权值为0,其它的为1,默认值为跟I同样维数的全1矩阵;READOUT是与噪声和读出设备有关的参数,默认值为0;J是反卷积后恢复出来的图像PSF是最后反卷积后得到的点扩散函数例:盲反卷积恢复图像例:盲反卷积恢复图像clear all;I=checkerboard(8);PSF=fspecial(gaussian,7,10);%创建PSFV=.001;J=imnoise(imfilter(I,PSF),gaussian,0,V);%图像退化INITPSF=ones(size(PSF);WT=zeros(size(I);WT(5:end-4,5:end-4)=1;K,PSF2=deconvblind(J,INITPSF,20,10*sqrt(v),WT);%复原图像figure;subplot(131);imshow(I);xlabel(a)原始图像);subplot(132);imshow(J);xlabel(b)退化图像);subplot(133);imshow(K);xlabel(c)图像复原);总结v 图像复原(恢复)是主要目的是改善给定的图像质量并尽可能恢改善给定的图像质量并尽可能恢复原图像复原图像。v 图像复原(恢复)的原因是图像在形成、传输和记录过程中,受到多种因素的影响,图像的质量都会有所下降。典型表现有图像模糊、模糊、失真、有噪声失真、有噪声等。v 图像复原主要包括以下几部分:(1)图像的退化模型:分析图像质量退化的原因,建立数学模型 (2)图像的恢复模型:建立图像反卷积的模型 (3)图像的复原方法:4种去模糊方法作业复原的基本步骤:首先,构建适时的退化模型;然后,建立针对退化模型再选择合适的复原算法。作业:结合专业实践或兴趣点,复原一幅图像。
展开阅读全文