南京大学电子科学与工程学院第1页共16页《数字图像处理》实验报告撰写新的报告输入个人信息输入个人信息姓名陈一尧学号111180024专业电子信息科学与技术电子信息科学与技术实验44报告正文一、实验目的(不少于200字)撰写/修改实验目的 本次实验进行的主要是对图像复原进行有关讨论。在图像形成过程中,由于成像系统等各种外部因素的影响,可能导致图像的质量下降,发生所谓的“图像退化”。与图像增强相类似,图像复原的目的是改善图像的质量,便于人眼辨识,增强表达效果。在进行图像复原的过程中,必要的先验知识十分重要,可以非常方便的将已退化的图像恢复本来的面目,但是有些时候图像的先验知识我们并不容易获取,所以与此相对应有盲卷积等方法来帮助我们进行图像复原。引起图像退化的因素很多,包括有光学系统、运动等造成的图像模糊,电路传递中、光学因素的影响噪声等等。掌握了解相关的数学模型对于图像复原至关重要,许多复原的方法也是建立在比较严格的数学推导上的。通过本次实验,主要期望达到以下目的:1、熟练掌握数字图像复原的基本概念和基本理论原理2、深入理解图像退化的影响原因和对应的处理方法,加强综合分析问题、解决实际问题的能力3、掌握各种使用的图像复原的相关技术,使经处理后的图像更加适应人眼的视觉与心理4、巩固使用matlab软件处理数字图像问题的能力,加强巩固编程能力通过实验,了解到图像恢复和图像增强的区别还在于图像增强不考虑图像时如何退化的,而是试图采用各种技术来增强图像的视觉效果,因此图像增强可以不顾增强后的图像是否失真,只要看着舒服就基本可以满足要求,而图像复原则对图像退化的机制和过程邓先验知识要求较为必要,很多情况下先验知识如果全面准确,甚至可以完全恢复原始图像,达到非常好的效果,据此找出相应的你处理方法,从而得到恢复的图像。对于一幅图像,可以先进行复原处理,在进行图像增强处理,两者相互结合,图像的效果可以达到更为理想的效果。【2013年11月16日10:53:24】二、核心代码及运行后截图(截图方法:先按下Alt再按下PrtScr,然后粘贴进文档)1.频谱噪声分析在进行图像复原之前,首先对各个图像做傅里叶变换在频谱中观察分布情况,由此判断噪声或模糊类型。代码如下:i1=imread('statBlur.png');i2=imread('s1.bmp');i3=imread('picassoBlurImage.png');i4=imread('nvblurImage.png');o1=fftshift(fft2(rgb2gray(i1)));o2=fftshift(fft2(rgb2gray(i2)));o3=fftshift(fft2(rgb2gray(i3)));o4=fftshift(fft2(rgb2gray(i4)));figure,subplot(221),imshow(i1),subplot(222),imshow(o1),subplot(223),imshow(i2),...subplot(224),imshow(o2);figure,subplot(221),imshow(i3),subplot(222),imshow(o3),subplot(223),imshow(i4),...subplot(224),imshow(o4);结果如下:南京大学电子科学与工程学院第2页共16页分析说明:有傅里叶频谱可以看到,在毕加索频谱的数值中心轴线处出现了明显的亮条纹现象,推测可能是原南京大学电子科学与工程学院第3页共16页图像存在水平方向的运动模糊和竖直方向较少的运动模糊,在汽车的频谱中也可以推测原图像中存在水平方向的少许运动模糊,在后面的进一步处理中我们可以看到佛像存在着高斯噪声,若要获得较为好的复原图像,可先对图像进行噪声处理,在进行图像复原,可以达到较为理想的效果。2.四幅图像分别处理2.1佛像复原2.1.1噪声分析首先分析佛像图像是否具有噪声,在图像中较为平坦均匀出选取矩形,做直方图处理,观察直方图的分布来确定是否含有噪声以及噪声的类型。代码如下:im=imread('statBlur.png');[m,n,h]=size(im);f11=ones(190,162,3);f22=ones(130,130,3);f33=ones(100,100,3);f44=ones(70,70,3);fori=1:190forj=1:162fork=1:3f11(i,j,k)=im(i,j,k);endendendfori=1:130forj=501:630fork=1:3f22(i,j-500,k)=im(i,j,k);endendendfori=721:870forj=11:170fork=1:3f33(i-720,j-10,k)=im(i,j,k);endendendfori=761:830forj=561:630fork=1:3f44(i-760,j-560,k)=im(i,j,k);南京大学电子科学与工程学院第4页共16页endendendfigure,subplot(221),hist(f11,100),subplot(222),hist(f22,100),subplot(223),...hist(f33,100),subplot(224),hist(f44,100);运行结果:分析说明:可以发现在第一幅图中,R、G、B三个分量均呈现钟形分布,这是高斯噪声的特点,所以初步判断原始图像中含有高斯噪声,所以对图像进行高斯噪声去除处理后再进行图像还原可以得到较为良好的效果。2.1.2大气湍流处理函数代码如下:functionoutput=daqituan(image,k)%k=0.00011%函数daqituan对输入的图像进行大气湍流处理%参数image输入的待处理图像%参数k大气湍流模型常数i=fft2(double(image));G=fftshift(i);[m,n,h]=size(i);H=zeros(m,n);南京大学电子科学与工程学院第5页共16页fori=1:mforj=1:nifsqrt((i-m/2)^2+(j-n/2)^2)100H(i,j)=exp(-k*(i^2+j^2)^(5/6));endendendfori=1:3out(:,:,i)=G(:,:,i).*H;endout=real(ifft2(ifftshift(out)));figure,subplot(121),imshow(image),title('原始图像'),subplot(122),...imshow(out,[]),title('大气湍流复原图像');end运行结果:分析说明:有运行结果可知,复原的效果较为理想。2.2路灯复原2.2.1选取部分进行噪声分析代码如下:im=imread('nvblurImage.png');figure,imshow(im),title('原始图像');PSF=fspecial('motion',9,0);fr1=double(deconvwnr(im,PSF,0.3));[m,n,h]=size(fr1);fori=1:mforj=1:n南京大学电子科学与工程学院第6页共16页fork=1:3fr1(i,j,k)=(fr1(i,j,k))^1.06;endendendfigure,imshow(uint8(fr1)),title('估计PSF运动复原');k=0.000135;i=fft2(double(im));G=fftshift(i);[m,n,h]=size(i);H=zeros(m,n);fori=1:mforj=1:nifsqrt((i-m/2)^2+(j-n/2)^2)65H(i,j)=exp(-k*(i^2+j^2)^(5/6));endendendfori=1:3out(:,:,i)=G(:,:,i).*H;endout=real(ifft2(ifftshift(out)));figure,imshow(out,[]),title('大气湍流复原');运行结果:南京大学电子科学与工程学院第7页共16页南京大学电子科学与工程学院第8页共16页分析说明:在原图像中,从路灯的杆子中可以明显看到有“重影”现象,推测是运动模糊或大气湍流模糊,实验中也是对此进行探讨的,本例中所使用的PSF的值由于缺少先验知识,是在实验中不断试出来的效果较为好的PSF,所以和真实的PSF值一定有一些偏差,不过也可以明显看到杆子的重影效果减少了,图像变清晰了一些,经过大气湍流处理的图像中,同样可以看到杆子及背景的树枝的“重影”明显减少,基本上达到预期的效果。2.3汽车复原同样也是先分析原始图像中有无噪声的存在。代码如下:im=imread('s1.bmp');[m,n,h]=size(im);%f1=zeros(m,n);f2=zeros(m,n);f3=zeros(m,n);...f11=ones(40,30,3);f22=ones(20,16,3);f33=ones(46,31,3);f44=ones(30,27,3);fori=61:100forj=21:50fork=1:3f11(i-60,j-20,k)=im(i,j,k);endendendfori=71:90forj=121:136fork=1:3f22(i-70,j-120,k)=im(i,j,k);endendendfori=211:256forj=25:55fork=1:3f33(i-210,j-24,k)=im(i,j,k);endendendfori=201:230forj=145:171fork=1:3f44(i-200,j-144,k)=im(i,j,k);end南京大学电子科学与工程学院第9页共16页endendfigure,subplot(221),hist(f11,100),subplot(222),hist(f22,100),subplot(223),...hist(f33,100),subplot(224),hist(f44,100);w1=fspecial('gaussian');im2=imfilter(im,w1,'conv','replicate');PSF=fspecial('motion',1.5,40);fr1=deconvwnr(im,PSF);fr2=deconvwnr(im,PSF,0.3);figure,subplot(121),imshow(fr1),title('直接估计维纳复原'),subplot(122),...imshow(fr2),title('高斯去噪后复原');结果如下:分析说明:可以发现在图中,R、G、B三个分量也基本呈现钟形分布,这是高斯噪声的特点,所以初步判断原始图像中含有高斯噪声,所以对图像进行高斯噪声去除处理后再进行图像还原可以得到较为良好的效果。南京大学电子科学与工程学院第10页共16页分析说明:经过处理后可以基本辨认车牌号为4996,相比较原图像而言清楚了一些,但效果还不是非常理想,这可能是由于还是没有找到精确的模糊过程导致复原时效果很有限。同理也可以使用大气湍流进行复原处理,运行结果如下:2.4毕加索人像复原代码如下:image=imread('picassoBlurImage.png');k=0.000185;i=fft2(double(image));G=fftshift(i);[m,n,h]=size(i);H=zeros(m,n);fori=1:mforj=1:n南京大学电子科学与工程学院第11页共16页ifsqrt((i-m/2)^2+(j-n/2)^2)40H(i,j)=exp(-k*(i^2+j^2)^(5/6));endendendfori=1:3out(:,:,i)=G(:,:,i).*H;endout=real(ifft2(ifftshift(out)));figure,subplot(121),imshow(image),title('原始图像