数字图像处理实验报告_第1页
数字图像处理实验报告_第2页
数字图像处理实验报告_第3页
数字图像处理实验报告_第4页
数字图像处理实验报告_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录实验一: 数字图像的基本处理操作41.1: 实验目的41.2:实验任务和要求41.3:实验步骤和结果51.4:结果分析8实验二: 图像的灰度变换和直方图变换92.1: 实验目的92.2:实验任务和要求92.3:实验步骤和结果92.4:结果分析13实验三: 图像的平滑处理143.1: 实验目的143.2:实验任务和要求143.3:实验步骤和结果143.4:结果分析18实验四:图像的锐化处理194.1: 实验目的194.2:实验任务和要求194.3:实验步骤和结果194.4:结果分析21 实验一: 数字图像的基本处理操作1.1: 实验目的 1、熟悉并掌握MATLAB、PHOTOSHOP等工具的

2、使用;2、实现图像的读取、显示、代数运算和简单变换。3、熟悉及掌握图像的傅里叶变换原理及性质,实现图像的傅里叶变换。1.2:实验任务和要求1. 读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。2. 对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题。3. 对一幅图像进行平移,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与平移后傅里叶频谱的对应关系。4. 对一幅图像进行旋转,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析

3、原图的傅里叶谱与旋转后傅里叶频谱的对应关系。1.3:实验步骤和结果1. 对实验任务1的实现代码如下:a=imread(d:tp.jpg);i=rgb2gray(a);I=im2bw(a,0.5);subplot(1,3,1);imshow(a);title(原图像);subplot(1,3,2);imshow(i);title(灰度图像);subplot(1,3,3);imshow(I);title(二值图像);subplot(1,3,1);imshow(a);title(原图像);结果如图1.1 所示:图1.1 原图及其灰度图像,二值图像2. 对实验任务2的实现代码如下:a=imread(d

4、:tp.jpg);A=imresize(a,800 800);b=imread(d:tp2.jpg);B=imresize(b,800 800);Z1=imadd(A,B);Z2=imsubtract(A,B);Z3=immultiply(A,B);Z4=imdivide(A,B);subplot(3,2,1);imshow(A);title(原图像 A);subplot(3,2,2);imshow(B);title(原图像 B);subplot(3,2,3);imshow(Z1);title(加法图像);subplot(3,2,4);imshow(Z2);title(减法图像);subplo

5、t(3,2,5);imshow(Z3);title(乘法图像);subplot(3,2,6);imshow(Z2);title(除法图像);结果如图1.2所示:3. 对实验任务3的实现代码如下:s=imread(d:tp3.jpg);i=rgb2gray(s);i=double(i);j=fft2(i);k=fftshift(j); %直流分量移到频谱中心I=log(abs(k); %对数变换m=fftshift(j); %直流分量移到频谱中心RR=real(m); %取傅里叶变换的实部II=imag(m); %取傅里叶变换的虚部A=sqrt(RR.2+II.2);A=(A-min(min(A

6、)/(max(max(A)*255;b=circshift(s,800 450);b=rgb2gray(b);b=double(b);c=fft2(b);e=fftshift(c);I=log(abs(e);f=fftshift(c);WW=real(f);ZZ=imag(f);B=sqrt(WW.2+ZZ.2);B=(B-min(min(B)/(max(max(B)*255;subplot(2,2,1);imshow(s);title(原图像);subplot(2,2,2);imshow(uint8(b);title(平移图像);subplot(2,2,3);imshow(A);title(

7、离散傅里叶变换频谱);subplot(2,2,4);imshow(B);title(平移图像离散傅里叶变换频谱);结果如图1.3所示:4. 对实验任务4的实现代码如下:s=imread(d:tp3.jpg);i=rgb2gray(s);i=double(i);j=fft2(i);k=fftshift(j);I=log(abs(k);m=fftshift(j);RR=real(m);II=imag(m);A=sqrt(RR.2+II.2);A=(A-min(min(A)/(max(max(A)*255;b=imrotate(s,-90);b=rgb2gray(b);b=double(b);c=f

8、ft2(b);e=fftshift(c);I=log(abs(e);f=fftshift(c);WW=real(f);ZZ=imag(f);B=sqrt(WW.2+ZZ.2);B=(B-min(min(B)/(max(max(B)*255;subplot(2,2,1);imshow(s);title(原图像);subplot(2,2,2);imshow(uint8(b);title(平移图像);subplot(2,2,3);imshow(A);title(离散傅里叶频谱);subplot(2,2,4);imshow(B);title(平移图像离散傅里叶频谱);结果如图1.4所示:1.4:结果分

9、析对MATLAB软件的操作开始时不太熟悉,许多语法和函数都不会使用,写出程序后,调试运行,最开始无法显示图像,检查原因,是有些标点符号没有在英文状态下输入和一些其他的细节,学会了imread(),imshow(),rgb2gray()等函数。实验二: 图像的灰度变换和直方图变换2.1: 实验目的1、熟悉及掌握图像的采样原理,实现图像的采样过程,进行图像的灰度转换。 2、理解直方图的概念及应用,实现图像直方图的显示,及通过直方图均衡对图像进行修正。2.2:实验任务和要求1、 对一幅图像进行2倍、4倍、8倍和16倍减采样,显示结果。2、 显示一幅灰度图像a,改变图像亮度使其整体变暗得到图像b,显示

10、两幅图像的直方图。3、 对一幅图像进行灰度变化,实现图像变亮、变暗和负片效果,在同一个窗口内分成四个子窗口来分别显示,注上文字标题。4、 对一副图像进行直方图均衡化,显示结果图像和对应直方图。5、 对一副图像进行如图所示的分段线形变换处理,试比较与直方图均衡化处理的异同。2.3:实验步骤和结果1.对实验任务1的实现代码如下: a=imread(d:tp2.jpg); b=rgb2gray(a);for m=1:4figurewidth,height=size(b);quartimage=zeros(floor(width/(m),floor(height/(2*m);k=1;n=1;for i

11、=1:(m):widthfor j=1:(2*m):heightquartimage(k,n)=b(i,j);n=n+1;endk=k+1;n=1;endimshow(unit8(quartimage);end结果如图所示:2. 对实验任务2的实现代码如下: a=imread(d:tp2.jpg); c=rgb2gray(a); b=c-46; subplot(3,2,1);imshow(c);title(原图像) subplot(3,2,2);imhist(c);title(原图像的直方图) subplot(3,2,3);imshow(b);title(变暗后的图像) subplot(3,2

12、,4);imhist(b);title(变暗后的图像直方图); d=imadjust(c,0,1,1,0); subplot(3,2,5);imshow(d);title(反转图像);结果如图2.2所示:3. 对实验任务3的实现代码如下:a=imread(d:tp.jpg);m=imadjust(a,0.5;1);%图像变亮n=imadjust(a,0;0.5);%图像变暗g=255-a;%负片效果subplot(2,2,1);imshow(a);title(原图像);subplot(2,2,2);imshow(m);title(图像变亮);subplot(2,2,3);imshow(n);t

13、itle(图像变暗);subplot(2,2,4);imshow(g);title(负片效果);结果如图所示:4. 对实验任务4的实现代码如下:b=imread(d:tp.jpg);c=rgb2gray(b);j=histeq(c);subplot(2,2,1),imshow(c);subplot(2,2,2),imshow(j);subplot(2,2,3),imhist(c);subplot(2,2,4),imhist(j);结果如图2.4所示:5. 对实验任务5的实现代码如下:x1=0:0.01:0.125;x2=0.125:0.01:0.75;x3=0.75:0.01:1;y1=2*x

14、1;y2=0.25+0.6*(x2-0.125);y3=0.625+1.5*(x3-0.75);x=x1,x2,x3;y=y1,y2,y3;plot(x,y);结果如图所示:2.4:结果分析这次实验主要是对图像的灰度变换和直方图均衡化,实验内容包括灰度拉伸、图像反转、图像的二值化以及直方图均衡。通过实验将课本上理论知识加以实践,实验过程中明白了图像处理的一些技巧。但是以上几种方法采用的基本都是线性变换法,在实际应用中存在很多缺陷。它只能处理一些黑白分明的图像,而对于一些颜色丰富或者处理比较复杂图像时,往往于心不足。实验三: 图像的平滑处理3.1: 实验目的1、熟悉并掌握常见的图像噪声种类;2、

15、理解并掌握常用的图像的平滑技术,如邻域平均法和中值滤波的原理、特点、适用对象。3.2:实验任务和要求1、 读出lena.jpg这幅图像,给这幅图像分别加入椒盐噪声、高斯噪声和乘性噪声后并与前一张图显示在同一图像窗口中。2、 对受高斯噪声(模拟均值为0方差为0.02的高斯噪声)干扰的lena图像分别利用邻域平均法和中值滤波进行滤波去噪(窗口可变,可先取3*3,依次再取5*5,7*7),并显示滤波结果。3、 对受椒盐噪声(噪声方差为0.02)干扰的lena图像,选择合适的滤波器将噪声滤除。4、 对受乘性噪声(噪声方差为0.02)干扰的lena图像,选择合适的滤波器将噪声滤除。3.3:实验步骤和结果

16、 1. 对实验任务1的实现代码如下: I=imread(d:tp.jpg); i=rgb2gray(I); J=imnoise(i,gaussian,0,0.02);%高斯噪声 K=imnoise(i,salt & pepper,0.02);%椒盐噪声 P=imnoise(i,speckle,0.02);%乘性噪声 subplot(2,2,1);imshow(i); xlabel(原图); subplot(2,2,2);imshow(J);xlabel(高斯噪声); subplot(2,2,3);imshow(K);xlabel(椒盐噪声); subplot(2,2,4);imshow(P);

17、xlabel(乘性噪声);结果如图3.1所示:2.对实验任务2的实现代码如下: I=imread(d:tp.jpg); i=rgb2gray(I); J=imnoise(i,gaussian,0,0.02); K=im2double(J); h=fspecial(average); G1=filter2(h,K,same); G2=medfilt2(K); subplot(2,2,1);imshow(1); subplot(2,2,1);imshow(i); xlabel(原图); subplot(2,2,2);imshow(J); xlabel(添加高斯噪声); subplot(2,2,3)

18、;imshow(G1); xlabel(均值滤波); subplot(2,2,4);imshow(G2); xlabel(中指滤波);结果如图3.2所示:3. 对实验任务3的实现代码如下: I=imread(D:tp.jpg); i=rgb2gray(I); J=imnoise(i,salt & pepper,0.02); K=im2double(J); h=fspecial(average); G1=filter2(h,K,same); G2=medfilt2(K); subplot(2,2,1);imshow(i); xlabel(原图); subplot(2,2,2);imshow(J)

19、; xlabel(添加椒盐噪声); subplot(2,2,3);imshow(G1); xlabel(均值滤波); subplot(2,2,4);imshow(G2); xlabel(中值滤波);结果如图3.3所示:4. 对实验任务4的实现代码如下: i=imread(D:tp.jpg); I=rgb2gray(i); J=imnoise(I,speckle,0.02); K=im2double(J); h=fspecial(average); G1=filter2(h,K,same); G2=medfilt2(K); subplot(2,2,1);imshow(I); xlabel(原图)

20、; subplot(2,2,2);imshow(J); xlabel(添加乘性噪声); subplot(2,2,3);imshow(G1); xlabel(均值滤波); subplot(2,2,4);imshow(G2); xlabel(中值滤波);结果如图3.4所示:3.4:结果分析(1)采用均值滤波器对图像处理能达到去噪的效果,并且一般滤波器的模板越大去噪效果越好,但是应该适中,当模板选择的过大时,处理的效果就会下降,因此我们应该根据具体的要求选择合适的模板来处理图像。(2)采用高斯滤波器对图像处理能达到去噪的效果,与均值滤波器相同,随着所用的滤波器尺寸的增大,图像的细节锐化程度相应降低图

21、像变得模糊起来。但相较于均值滤波器,其模糊程度较小。但是高斯滤波同时受到标准差 sigma 的影响。(3)中值滤波对去除“椒盐”噪声可以起到很好的效果,因为椒盐噪声只在画面中的部分点上随机出现,所以根据中值滤波原理可知,通过数据排序的方法,将图像中未被噪声污染的点代替噪声点的值的概率比较大,因此噪声的抑制效果很好。中值滤波与均值滤波相比,在去除图像椒盐噪声的同时,还能够保持图像比较清晰的轮廓。从实验结果可以看出,通过3*3 的均值滤波器,图像中的噪声点有明显的消除。但是 3*3 的非线性模板中值滤波器上对噪声的滤除效果更完美。实验四:图像的锐化处理4.1: 实验目的1、熟悉并掌握MATLAB图

22、像处理工具箱的使用;2、理解并掌握常用的图像的锐化技术。4.2:实验任务和要求 1、采用三种不同算子对图像进行锐化处理。2、锐化空间滤波1) 采用33的拉普拉斯算子w = 1, 1, 1; 1 8 1; 1, 1, 1滤波2) 编写函数w = genlaplacian(n),自动产生任一奇数尺寸n的拉普拉斯算子,如55的拉普拉斯算子:w = 1 1 1 1 1 1 1 1 1 1 1 1 -24 1 1 1 1 1 1 1 1 1 1 1 13) 分别采用55,99,1515和2525大小的拉普拉斯算子对blurry_moon.tif进行锐化滤波,并利用式完成图像的锐化增强,观察其有何不同,要求在同一窗口中显示。4.3:实验步骤和结果1. 对实验任务1的实现代码如下: i=imread(d:tp.jpg); I=rgb2gray(i); H=fspecial(sobel); I1=filter2(H,I); H=fspecial(prewitt); I2=filter2(H,I); H=fspecial(log); I3=filter2(H,I); subplot(2,2,1);imshow(i)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论