1图形图像处理实验报告学生姓名__***_____学号_***_____专业班级___***_指导老师_***____2011年10月15日2实验一计算图像的基本统计指标实验目的:1)熟悉Matlab图像处理工具箱的使用方法。2)了解计算图像统计指标的方法及其在图像处理中的意义。实验原理:1)可将一幅图视为一个二维矩阵,因此Matlab处理图像十分方便。2)利用Matlab图像处理工具箱读、写和显示图像。实验内容:将图像反白。图像是RGB彩色图像football.jpg,采用rgb2gray函数可以将彩色图像转换为黑白图像。I=imread('football.jpg');subplot(131);imshow(I);J=rgb2gray(I);subplot(132);imshow(J);Ave=mean2(J);SD=std2(double(J));s=size(J);all_white=255*ones(s(1),s(2));all_white_uint8=uint8(all_white);K=imsubtract(all_white_uint8,J);subplot(133);imshow(K);imwrite(K,'football_inverse.jpg');实验结果:3实验二图像的数字化实验目的:1)了解静止图像的数字化原理。2)掌握常用数字化设备的使用。实验原理:通过将模拟图像数字化后,用计算机对图像进行灵活的处理。实验内容:2.1用Matlab程序说明实际数字图像量化特点。clc;clear;W=16;I=imread('kids.tif');s=size(I);J=I(s(1)/2-W/2:s(1)/2+W/2-1,s(2)/2-W/2:s(2)/2+W/2-1)imshow(J);K=I(2*W:s(1)-W,2*W:s(2)-5*W);figure,imshow(K);实验结果:4实验三图像变换实验目的:1)了解图像正变换和逆变换的原理2)理解图像变换的系数特点3)掌握常用图像变换的实现过程4)掌握图像的频谱分析方法5)了解图像变换在图像数据压缩等方面的应用实验原理:1)二维离散傅立叶变换、余弦变换、小波变换的正逆变换公式。2)Matlab中变换的实现函数。3)讨论正交变换的应用。实验内容:3.1应用Matlab实现图像的傅立叶变换。I=imread('pout.tif');imshow(I);F1=fft2(I);figure,imshow(log(abs(F1)+1),[010]);F2=fftshift(F1);figure,imshow(log(abs(F2)+1),[010]);实验结果:原始图像图像的频谱图中心化的频谱图3.2应用Matlab实现图像的DCT变换。clearall;clcI=imread('tire.tif');subplot(121);imshow(I);C1=dct2(I);C2=fftshift(C1);subplot(122);imshow(log(abs(C2))+1,[010]);5实验结果:原始图像DCT系数3.3已知二维数字图像矩阵f,求此图像的二维DWT,并反求f。f=[2552;3333;3333;2551];G=[1111;11-1-1;1-1-11;1-11-1];W=(1/16)*G*f*G实验结果:W=3.18750.0625-0.81250.06250.0625-0.06250.0625-0.06250.18750.0625-0.81250.06250.0625-0.06250.0625-0.06253.4bior3.7是双正交样条小波对应的滤波器。应用Matlab对wbarb.mat图像实现小波变换。loadwbarb;image(X);colormap(map);[cA1,cH1,cV1,cD1]=dwt2(X,'bior3.7');A1=upcoef2('a',cA1,'bior3.7',1);H1=upcoef2('h',cH1,'bior3.7',1);V1=upcoef2('v',cV1,'bior3.7',1);D1=upcoef2('d',cD1,'bior3.7',1);figure;colormap(map);subplot(221);image(wcodemat(A1,180));title('ApproximationA1');subplot(222);image(wcodemat(H1,255));title('HorizontalDetailH1');subplot(223);image(wcodemat(V1,255));title('VerticalV1');subplot(224);image(wcodemat(D1,255));title('DiagonalD1');Y=2.0*IDWT2(A1,H1,V1,D1);6Y=imresize(Y,0.5);figure;image(Y);colormap(map);实验结果:原图像一层小波变换的4个分量7实验四频率域高通滤波法实验目的:1)熟悉并学会使用Matlab中图像增强的相关函数。2)了解图像增强的方法、去噪的方法和效果。实验原理:1)将一幅图视为一个二维矩阵,用Matlab进行图像增强。2)利用Matlab图像处理工具箱中的imread、imshow、imnoise、filter2对图像进行去噪处理。3)图像灰度修正:灰度变换。对不满意的图像通过线性灰度映射关系进行变换,其效果可以得到明显提高。通过分析,会发现前后图像的直方图也会发生相应的变化。4)图像平滑方法:领域平均、中值滤波。5)图像锐化方法。人眼对目标边缘和轮廓较为敏感,对图像进行锐化,有助于突出这些图像的特征。从频率域看,锐化提升了图像的高频分量。实验内容:4.1采用线性变换进行图像增强。应用Matlab函数imadjust将图像在0.3×255~0.7×255灰度之间的值通过线性变换映射到0~255之间。I=imread('pout.tif');subplot(2,2,1),imshow(I);subplot(2,2,2),imhist(I);J=imadjust(I,[0.30.7],[]);subplot(2,2,3),imshow(J);subplot(2,2,4),imhist(J);实验结果:原图原图像的直方图8输出图像输出图像的直方图4.2求“布罗格的画”图像的归一化直方图I=imread('布格罗的画.jpg');J=rgb2gray(I);subplot(1,2,1),imshow(J);N=numel(J);pr=imhist(J)/N;k=0:255;subplot(1,2,2),stem(k,pr);实验结果布罗格的画图像布罗格的画的直方图4.3在Matlab环境中,采用直方图均衡的方法对tire.tif图像进行图像增强。I=imread('tire.tif');J=histeq(I);subplot(2,2,1),imshow(I);9subplot(2,2,2),imhist(I);subplot(2,2,3),imshow(J);subplot(2,2,4),imhist(J);实验结果原图像原图像的直方图均衡后的图像均衡后图像的直方图4.4分别采用上述前4种模块对受到椒盐噪声污染的eight.tif图像进行平滑处理。I=imread('tire.tif');%读入原始图像Imshow(I,[]);f=imnoise(I,'salt&pepper',0.04);%对图像加椒盐噪声,噪声强度为0,04figure,imshow(f);h0=1/9.*[111111111];%定义平滑模板h1=[0.10.10.1;0.10.20.1;0.10.10.1];h2=1/16.*[121;242;121];%高斯模板h3=1/8.*[111;101;111];g0=filter2(h0,f);%用模板进行滤波处理g1=filter2(h1,f);g2=filter2(h2,f);g3=filter2(h3,f);figure,imshow(g0,[]);%显示平滑处理结果figure,imshow(g1,[]);figure,imshow(g2,[]);figure,imshow(g3,[]);实验结果10原始图像有噪声的图像用模版0处理后的图像用模版1处理后的图像用模版2处理后的图像用模版3处理后的图像4.5选用3*3的窗口对椒盐造噪声进行中值滤波。I=imread('tire.tif');Imshow(I);J=imnoise(I,'salt&pepper',0.04);figure,imshow(J);K=medfilt2(J);%二维中值滤波figure,imshow(K);实验结果:原始图像加噪声的图二维中值滤波后的图像4.6利用罗伯茨梯度对rice.tif图像进行锐化处理I=imread('tire.tif');Imshow(I);BW=edge(I,'roberts',0.1);%对输入图像求罗伯茨梯度figure,imshow(BW);实验结果:原始图像锐化后结果图114.7应用拉普拉斯算子对rice.tif图像进行锐化处理。I=imread('tire.tif');imshow(I);h=[0-10;-14-1;0-10];J=imfilter(I,h);figure,imshow(J);figure,imhist(J);K=imadjust(J,[0.00.2],[]);%二维中值滤波figure,imhist(K);figure,imshow(K);实验结果:原始图像拉普拉斯锐化对比扩展后的图像拉普拉斯锐化后图像的直方图对锐化后图像的对比扩展12实验五图像编码与压缩实验目的:1)了解图像的压缩编码原理。2)掌握常用的图像压缩算法。实验原理:1)去除数据冗余度可以有效的压缩数据。2)图像压缩编码的主要技术指标:压缩比、客观评价SNR、主管评价。实验内容:1)利用维纳滤波对有噪声模糊图像进行复原。2)比较直接维娜滤波、设置信噪比参数、设置噪声和自相关函数这三种情况下的图像复原效果。实验步骤1)选择图6.19所示的原始图像作为测试图像。2)设计图像复原算法。3)设置维娜滤波中的相关参数。对图像复原效果的影响。4)显示原始图像和复原后的重建图像。5)通过修改这些参数来观察参数对图像复原效果的影响。程序代码如下:blurred=imread('flower.gif');%读入无噪声模糊图像并命名为blurredlen=28;theta=14;PSF=fspecial('motion',len,theta);wnr1=deconvwnr(blurred,PSF);%维娜滤波复原图像figure,imshow(wnr1);-------------%读入有噪声模糊图像并命名为blurrednoisyV=0.02;NP=V*prod(size(I));%计算噪声强度Edged=edgetaper(blurrednoisy,PSF);%使用edgetaper函数对图像进行预处理,以消除图像的不连续边界[reg1LAGRA]=deconvreg(Edged,PSF,NP);figure,subplot(2,2,1),imshow(reg1);%小NPreg2=deconvreg(Edged,PSF,NP*1.2);subplot(2,2,2),imshow(reg2);%大NPreg3=deconvreg(Edged,PSF,[],LAGRA);figure,subplot(2,2,1),imshow(reg3);%小范围搜索reg4=deconvreg(Edged,PSF,[],50*LAGRA);subplot(2,2,2),imshow(reg4);REGOP=[1-21];%大范围搜索reg3=deconvreg(Edged,PSF,[],LAG