《数字图像处理》课程设计报告.docVIP

  • 76
  • 0
  • 约 12页
  • 2015-08-28 发布于安徽
  • 举报
(完美WORD文档DOC格式,可在线免费浏览全文和下载)值得下载!

1.课程设计目的 提高分析问题、解决问题的能力,进一步巩固数字图像处理系统中的基本原理与方法。 熟悉掌握一门计算机语言,可以进行数字图像的应用处理的开发设计。 2.课程设计内容及实现 2.1、二维快速傅立叶变换: 本项目的重点是: 这个项目的目的是开发一个2-D FFT程序“包”,将用于在其他几个项目。您的实现必须有能力: 乘以(-1),x + y的中心变换输入图像进行滤波。 (b) 一个真正的函数相乘所得到的(复杂的)的阵列(在这个意义上的实系数乘以变换的实部和虚部)。回想一下,对相应的元件上完成两幅图像的乘法。 (c) 计算傅立叶逆变换。 (d) 结果乘以(-1)x + y的实部。 (e) 计算频谱。 基本上,这个项目实现了图。4.5。如果您正在使用MATLAB,那么您的傅立叶变换程序将不会受到限制,其大小是2的整数次幂的图像。如果要实现自己的计划,那么您所使用的FFT例程可能被限制到2的整数次幂。在这种情况下,你可能需要放大或缩小图像到适当的大小,使用你的程序开发项目02-04 逼近:为了简化这个和以下的工程(除项目04-05),您可以忽略图像填充(4.6.3节)。虽然你的结果不会完全正确,将获得显着的简化,不仅在图像的大小,而且在需要裁剪的最终结果。由这种近似的原则将不会受到影响 结果如下: 主要代码 f=imread(Fig4.04(a).jpg); H=imread(Fig4.04(a).jpg); subplot(3,2,1); imshow(f); title((a)原图像); [M1,N1]=size(f); f=im2double(f); [M2,N2]=size(H); H=im2double(H); %把灰度图像I1的数据类型转换成转换成双精度浮点类型 for x=1:M1 for y=1:N1 f(x,y)=(-1)^(x+y)*f(x,y); %用(-1)^(x+y)乘以输入图像,来实现中心化变换 end end F=fft2(f); %使用函数fft2可计算傅立叶变换 subplot(3,2,3); imshow(F); title((b)傅立叶变换的图像); if(M2==1)(N2==1) G=F(x,y)*H(x,y); elseif((M1==M2)(N1==N2)) for x=1:M1 for y=1:N1 G(x,y)=F(x,y)*H(x,y); end end else error(输入图像有误,ERROR); end %通过两个图像的乘法程序,实现对相应元素的相乘 g=ifft2(G); subplot(3,2,4); imshow(g); title((c)傅立叶逆变换的图像); for x=1:M1 for y=1:N1 g(x,y)=(-1)^(x+y)*g(x,y); end end g=real(g); S=log(1+abs(F)); %计算傅立叶幅度谱并做对数变换 subplot(3,2,5); plot(S); %二维图像显示幅度谱 title((d)二维图像显示幅度谱); Q=angle(F); %计算傅立叶变换相位谱 subplot(3,2,6); plot(Q); title((e)二维图像显示相位谱); %二维图像显示相位谱 图1 傅里叶变换及频谱图 结果分析: 图1中(a)是原始灰度图像,对原图进行傅里叶变换,用(-1)^(x+y)乘以输入图像,来实现中心化变换得到(b),(c)为傅里叶变换的逆变换得到的图像。对应(d)、(e)分别为计算的幅度谱和相位谱。 2.2、傅立叶频谱和平均值 本项目的重点是: 下载图。 4.18(a)和计算(居中)傅立叶频谱。 显示频谱。 使用(a)中计算图像的平均值的结果 结果如下: 主要代码 %abs-取绝对值和复数幅度 %fft2-求二维离散傅立叶变换 I = imread(Fig4.11(a).jpg); I1 = fft2(I); X = fftshift(abs(I1)); %直流分量移到频谱中心 [m,n] = size(X); Average_value = X(m/2+1,n/2+1)/(m*n) %平均值计算 I1 = abs(I1)*256/max(max(abs(I1))); %傅立叶谱图像 X =

文档评论(0)

1亿VIP精品文档

相关文档