您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 造纸印刷 > matlab-光电图像处理实验(傅立叶变换)
光学图像处理实验报告学生姓名:班级:学号:指导教师:日期:2一、实验室名称:二、实验项目名称:图像变换三、实验原理:傅立叶变换是信号处理领域中一个重要的里程碑,它在图像处理技术中同样起着十分重要的作用,被广泛的应用于图像特征提取、图像增强与恢复、噪声抑制、纹理分析等多个方面。1、离散傅立叶变换(DFT):要把傅立叶变换应用到数字图像处理当中,就必须处理离散数据,离散傅立叶变换的提出使得这种数学方法能够和计算机技术联系起来。正变换:逆变换:幅度:相位角:功率谱:2、快速傅立叶变换(FFT):离散傅立叶变换运算量巨大,计算时间长,其运算次数正比于N^2,当N比较大的时候,运算时间更是迅速增长。二快速傅立叶变换的提出将傅立叶变换的复杂度由N^2下降到了NlgN/lg2,当N很大时计算量可大大减少。而快速傅立叶变换(FFT)需要进行基2或者基4的蝶形运算,算法上面较离散傅立叶变换困难。2122),(),(),(vuIvuRvuF)],(),(arctan[),(vuRvuIvu1010)//(2),(1),(MxNyNvyMuxjeyxfMNvuF1010)//(2),(),(MxNyNvyMuxjevuFyxf),(),(),(),(222vuIvuRvuFvuP33、离散余弦变换(DCT):为FT的特殊形式,被展开的函数是实偶函数的傅氏变换,即只有余弦项。变换核固定,利于硬件实现。具有可分离特性,一次二维变换可分解为两次一维变换。正变换:逆变换:其中:四、实验目的:1.了解各种图像正交变换的作用和用途;2.掌握各种图像变换的方法和原理;3.熟练掌握离散傅立叶变换(DFT)、离散余弦变换(DCT)的原理、方法和实现流程,熟悉两种变换的性质,并能对图像傅立叶变换的结果进行必要解释;4.熟悉和掌握利用Matlab工具进行图像傅立叶变换及离散余弦变换的基本步骤、MATLAB函数使用及具体变换处理流程;5.能熟练应用Matlab工具对图像进行FFT及DCT处理,并能根据需要进行必要的频谱分析和可视化显示。五、实验内容:1、读取以下两幅图像,分别对其进行离散傅立叶变换(FFT)。变换处理中,要求进行频谱原点平移到(0,0),并能分别显示出其2D频谱图。通过对变换结果的分析,可以看出变换结果满足傅立叶变换(FT)的什么性质。2、任意读取一幅灰度图像,对其进行FFT变换,变换结果要求分别展示其64×64、128×128、256×256的频谱图(注:为便于分析,要求变换结果的频率原点移动到(0.0)),且对64×64频谱图能进行3D显示。3、任意读取一幅灰度图像,对其进行DCT变换。变换处理过程要求利用正交变换矩阵法及matlab的dct2()函数两种方法分别进行,并对变换结果进行比较和分析。六、实验器材(设备、元件):NyvNxuyxfvcucvuFNxNyc212cos212cos,)()(,101010102)12(cos2)12(cos),()()(),(NuNvcNvyNuxFycxcyxf11201)(NkNkNkc4计算机,Matlab软件七、实验步骤:1、快速傅立叶变换(FFT):⑴打开计算机,进入Matlab程序。⑵画出程序设计流程图(图一),在Matlab中输入代码读取各图像。⑶将两图分别转换成灰度图像。⑷FFT变换,并将中心平移。⑸将平移后矩阵取实部,归一化显示在同一窗口中。⑹记录下图像,并对结果进行分析。图一图二图三2、64X64,128X128,256X256FFT变换:⑴接着上一实验,画出程序设计流程图(图二),在Matlab中输入代码。⑵读取一幅大小合适的灰度图像。⑶对图像分别经行64X64,128X128,256X256FFT变换,并将中心平移。⑷将平移后图像取实部,归一化之后显示在同一窗口中。5⑸显示64X64的3DFFT图像,记录图像,并对结果进行分析。3、DCT离散余弦变换:⑴画出程序设计流程图(图三),在Matlab中输入代码。⑵读取一幅大小合适的灰度图像。⑶对图像分别调用Matlab内函数进行DCT直接变换和用正交矩阵进行变换。⑷分别显示变换后图像。⑸记录图像,并对结果进行分析。八、实验结果及分析1、快速傅立叶变换FFT:其源代码为:clear;oimg1=imread('cameraman.tif');oimg2=imread('coins.png');temp1=fft2(oimg1);temp2=fft2(oimg2);newimg1=fftshift(temp1);newimg2=fftshift(temp2);A1=double(real(newimg1));B1=double(imag(newimg1));A2=double(real(newimg2));B2=double(imag(newimg2));last1=sqrt(A1.^2+B1.^2);last2=sqrt(A2.^2+B2.^2);newimg1=(last1/max(max(last1)))*100;newimg2=(last2/max(max(last2)))*100;subplot(2,2,1)imshow(oimg1)subplot(2,2,2)imshow(newimg1)subplot(2,2,3)imshow(oimg2)subplot(2,2,4)imshow(newimg2)其显示的结果为:分析:将两幅图先转化为灰度图像,然后将其进行FFT变换,中心平移,取6实部,归一化显示在同一窗口上,得结果如上。2、64X64,128X128,256X256FFT变换:其源代码为:clear;oimg3=imread('cameraman.tif');temp3=fft2(oimg3,64,64);newimg3=fftshift(temp3);A3=double(real(newimg3));B3=double(imag(newimg3));last3=sqrt(A3.^2+B3.^2);newimg6464=(last3/max(max(last3)))*255;temp3=fft2(oimg3,128,128);newimg3=fftshift(temp3);A3=double(real(newimg3));B3=double(imag(newimg3));last3=sqrt(A3.^2+B3.^2);newimg128128=(last3/max(max(last3)))*255;temp3=fft2(oimg3,256,256);newimg3=fftshift(temp3);A3=double(real(newimg3));B3=double(imag(newimg3));last3=sqrt(A3.^2+B3.^2);newimg256256=(last3/max(max(last3)))*255;figure,subplot(2,2,1)imshow(oimg3)subplot(2,2,2)imshow(newimg6464)subplot(2,2,3)imshow(newimg128128)subplot(2,2,4)imshow(newimg256256)[x,y]=meshgrid(-32:31,-32:31);figure,surf(x,y,newimg6464)其显示的结果为:7分析:读取灰度图像,对图像分别经行64X64,128X128,256X256FFT变换,并将中心平移。将平移后图像取实部,归一化之后显示在同一窗口中。然后再显示64X64的3DFFT图像,记录图像,3D图像的中间部分向上凸起,得结果如上。3、DCT变换:其源代码为:clearB=imread('cameraman.tif');dct=dct2(B);figure,imshow(B);figure,imshow(dct);figureimshow(log(abs(dct)),[]),colormap(jet(64)),colorbarA=im2double(imread('cameraman.tif'));P=dctmtx(size(A,1));dct=P*A*P';figureimshow(dct)其显示的结果为:分析:读取灰度图像,对图像分别调用Matlab内函数进行DCT直接变换和用正交矩阵进行变换。分别显示变换后图像。得结果如上。九、总结实验结论:将图像分别进行快速FFT变换、64X64,128X128,256X256FFT变换、dct变换得结果如上,这三种变换方法在图像变换中是非常重要的变换方法。十、思考题:1、图像的傅立叶变换有哪些性质,它在图像处理中有什么作用?答:图像的傅立叶变换能把图像从空域转变成频域,并把频谱显示出来。傅立叶变换是信号处理领域中一个重要的里程碑,被广泛的应用于图像特征提取、图像增强与恢复、噪声抑制、纹理分析等多个方面。2、离散余弦变换(DCT)跟离散傅立叶变换(DFT)有什么异同,其主要优势和8主要用途是什么?答:同:都为FT的一种形式。异:DCT被展开的函数是实偶函数的傅氏变换,即只有余弦项;DFT要把傅立叶变换应用到数字图像处理当中,就必须处理离散数据。DCT利于硬件实现。具有可分离特性,一次二维变换可分解为两次一维变换;DFT离散傅立叶变换的提出使得这种数学方法能够和计算机技术联系起来。十一、实验改进意见或建议:
本文标题:matlab-光电图像处理实验(傅立叶变换)
链接地址:https://www.777doc.com/doc-5257936 .html