《数字图像处理实验.docx》由会员分享,可在线阅读,更多相关《数字图像处理实验.docx(5页珍藏版)》请在三一办公上搜索。
1、数字图像处理实验数字图像处理实验报告 实验目的和要求 通过实验,学生所学的图像处理理论指导下,能应用图像处理硬、软件和一种算法语言编写有关程序,熟悉Matlab等图像处理软件,巩固和掌握图像数据输入与输出、图像格式转换、图像增强与图像变换等基本处理技术,提高实际动手能力。为进一步应用图像处理解决实际问题奠定基础。 实验内容和形式 1.应用MATLAB语言编写一幅灰度图像直方图统计程序、图像放大和缩小程序,并掌握图像读写和运算的一些基本方法。 2.应用MATLAB等工具进行图像去噪和锐化处理,包括:常见噪声的产生、运用不同的滤波方法对图像去噪;运用不同的算子对图像进行锐化,比较结果;掌握和巩固所
2、学内容。 3.掌握图像的傅里叶和DCT等变换的原理,运用MATLAB等工具对图像进行压缩编码,分析压缩的效果。 学院: 杏林学院 071 班级: 通信 姓名: 学号: 应泽杭 0711073031 实验一:图像的基本操作 一、 实验目的: 1 掌握图像读写和运算的一些基本方的法; 2 掌握图像放大和缩小的基本方法; 3 掌握灰度直方图的概念及其计算方法; 4 熟练掌握直方图均衡化的计算过程; 5 利用MATLAB程序进行图像的基本操作。 二、实验步骤与结果: 1读取文件rice.tif和cameraman.tif的图像数据,显示图像。 程序与结果: A=imread(rice.tif); im
3、show(A); 2将rice.tif和cameraman.tif两幅图像相加、相减、或者减去一个常数,显示并保存处理后的图像。 程序与结果: 相加: A=imread(rice.tif); imshow(A); J=imread(cameraman.tif); K=imadd(A,J); imshow(K); 相减: A=imread(rice.tif); imshow(A); J=imread(cameraman.tif); L=imsubtract(A,J); imshow(L); 3应用MATLAB编写一幅灰度图像直方图统计程序,并比较直方图均衡化前后的图像和直方图。 程序与结果: I
4、=imread(test.gif); J=histeq(I); imshow(I); title(原图像); figure;imshow(J); title(直方图均衡化后的图像); figure;subplot(1,2,1); imhist(I,64); title(原图像直方图); subplot(1,2,2); imhist(J,64); title(均衡变换后的直方图); 实验二:图像去噪和锐化处理 一、实验目的: 1 掌握用于图像去噪的均值滤波和中值滤波的; 2 掌握图像锐化的基本原理; 3 能够运用不同滤波方法对图像去噪;运用不同的算子对图像进行锐化,并比较结果; 4 利用MATL
5、AB程序进行图像的去噪和锐化处理 二、实验步骤与结果: 1运用函数产生随机噪声和椒盐噪声,叠加到图像数据上。 2运用con2函数实现对噪声的图像进行均值滤波。采用大小为3*3去心的去心领域。比较不同窗口大小的情况下,均值滤波法的去噪效果。 3运用终止滤波法对随机噪声和椒盐噪声进行去噪,改变窗口的大小,分析去噪效果。 4比较均值滤波和中值滤波对两种噪声的去除情况。 5再运用fspecial和filter2函数实现对含噪声的图像进行均值滤波。 6运用conv2或者fspecial、filter2函数实现各种的算子提取边沿。比较采用各种常用的算子的边沿提取效果。 程序与结果: I=imread(ca
6、meraman.tif); J=rand(size(I); I2=uint8(J); A=imadd(I,12); imshow(A),title(叠加原图); h=0.125 0.125 0.125 0.125 0 0.125 0.125 0.125 0.125; C=uint8(conv2(I,h); figure(2); subplot(221),imshow(I),title(原图); subplot(222),imshow(C),title(conv2函数实现均值滤波); h=fspecial(average,3); D=uint8(round(filter2(h,I); subpl
7、ot(223),imshow(D),title(filter2 函数实现均值滤波); h=fspecial(laplacian); E=uint8(round(filter2(h,I); subplot(224),imshow(E),title(laplacian 算子提取边沿); 实验三:图像的变换及压缩编码 一、 实验目的: 1 掌握图像的傅里叶和离散余弦等变换的原理; 2 掌握图像的压缩编码的原理和实现的方法; 3 能够运用MATLAB等工具对图像进行变换及压缩编码。 二、实验步骤与结果: 1自己给出两幅图像,求图像的傅里叶变换,并分析傅里叶谱的频谱信息与原图象信息的对应关系。 程序与结
8、果: f=zeros(30,30); f(5:24,13:17)=1; imshow(f,notruesize); F=fft2(f); F2=log(abs(F); figure,imshow(F2,-1,5,notruesize); Colormap(summer);colorbar; 2运用DCT对图像进行压缩,显示恢复后的图像,与源图像对比。分析被忽略的DCT系数的个数多少与恢复后的图像质量的关系。 程序与结果: I=imread(cameraman.tif); I=im2double(I); T=dctmtx(8); B=blkproc(I,8 8,P1*x*P2,T,T); mask=1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; B2=blkproc(B,8 8,P1.*x,mask); I2=blkproc(B2,8 8,P1*x*P2,T,T); subplot(121); imshow(I); title(原图); subplot(122); imshow(I2); title(变换后的图像);