图像的傅立叶变换数字图像处理实验报告
- 格式:doc
- 大小:364.50 KB
- 文档页数:7
实验三、图像的傅立叶变换一、实验目的1、了解图像变换的意义和手段;2、熟悉傅里叶变换的性质;3、熟练掌握FFT变换及其应用;4、通过实验了解二维频谱的分布特点;5、通过本实验掌握利用MATLAB编程实现数字图像的傅立叶变换。
二、实验设备1、计算机;2、MATLAB软件;3、记录用的笔、纸。
4、移动式存储器(软盘、U盘等)。
三、实验原理1、应用傅立叶变换进行图像处理傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。
通过实验培养这项技能,将有助于解决大多数图像处理问题。
2、傅立叶(Fourier)变换的定义二维Fourier变换和二维离散傅立叶变换为:图像的傅立叶变换与一维信号的傅立叶变换变换一样,有快速算法,具体参1见相关书目,有关傅立叶变换的快速算法的程序不难找到。
实际上,现在有实现傅立叶变换的芯片,可以实时实现傅立叶变换。
四、实验步骤1、打开计算机,启动MATLAB程序;2、利用MatLab工具箱中的函数编制FFT频谱显示的函数;3、 a).调入、显示“实验一”获得的图像;图像存储格式应为“.gif”;b)对这幅图像做FFT并利用自编的函数显示其频谱;4、实现数字图像傅立叶变换的部分参考程序:I=imread(‘原图像名.gif’); %读入原图像文件imshow(I); %显示原图像fftI=fft2(I); %二维离散傅立叶变换sfftI=fftshift(fftI); %直流分量移到频谱中心RR=real(sfftI); %取傅立叶变换的实部II=imag(sfftI); %取傅立叶变换的虚部A=sqrt(RR.^2+II.^2);%计算频谱幅值A=(A-min(min(A)))/(max(max(A))-min(min(A)))*225; %归一化figure; %设定窗口imshow(A); %显示原图像的频谱五、实验数据记录输入数字图像傅立叶变换的代码如下:I=imread(‘fengshu.gif’);imshow(I);fftI=fft2(I);sfftI=fftshift(fftI);RR=real(sfftI);II=imag(sfftI);A=sqrt(RR.^2+II.^2);A=(A-min(min(A)))/(max(max(A))-min(min(A)))*225;figure;imshow(A);运行以上程序原图像经傅立叶变换后的图像3实验四、图像的离散余弦变换和哈达玛变换一、实验目的1、了解图像离散余弦变换和逆变换的原理;2、理解离散余弦变换系数的特点;3、理解离散余弦变换在图像数据压缩中的应用;4、理解哈达玛变换的原理。
数字图像处理实验报告模板实验1图像直方图1.1实验环境Visual C++ 6.01.2实验项目图像直方图1.3实验目的掌握图像直方图的统计特性,了解图像直方图针对几何变换保持不变的性质。
1.4实验方法输入256色灰度图像,并对图像进行几何变换(平移、旋转、比例),计算其直方图,观察其变化,说明直方图的特性。
1.5实验代码1.6实验效果1.7实验分析原始图像和几何变换后图像的直方图一样,说明直方图只与图像的像素灰度分布有关,而与图像的像素位置无关。
实验2傅立叶变换2.1实验环境Visual C++ 6.02.2实验项目傅立叶变换2.3实验目的了解傅立叶变换的图像及其特征,验证傅立叶变换幅值谱的对称性和平移不变性。
2.4实验方法(1)验证对称性:输入256色灰度图像,并对图像进行傅立叶变换,得到傅立叶变换幅值谱,对幅值谱旋转180度,并与原幅值谱相减,若为0,则完全吻合,说明傅立叶变换幅值谱的对称性。
(2)验证平移不变性:输入256色灰度图像A,并对图像进行平移得到灰度图像B,分别对度图像A和B进行傅立叶变换,得到两幅图像的傅立叶变换幅值谱,两幅值谱相减,若为0,则完全吻合,说明傅立叶变换幅值谱的平移不变性。
2.5实验代码2.6实验效果(a)原始图像(b) 原始图像的傅立叶幅值谱(c) 傅立叶幅值谱旋转180度的结果图2-1验证傅立叶变换幅值谱的对称性的实验结果(a)原始图像(b) 原始图像的傅立叶幅值谱(c)原始图像平移图像(d) 平移图像的傅立叶幅值谱图2-2验证傅立叶变换幅值谱的平移不变性的实验结果2.7实验分析由于傅立叶变换满足共轭对称性,即uvF--=(1)Fu(.)),(*v所以,任意图像的幅值谱都是原点对称(中心对称)。
实验3灰度变换3.1实验环境Visual C++ 6.03.2实验项目直方图均衡化3.3实验目的了解直方图均衡化后的图像灰度变换效果。
3.4实验方法输入256色灰度图像,计算图像灰度直方图,并对图像直方图进行均衡化。
计算机与信息工程学院验证性实验报告一、实验目的1了解图像变换的意义和手段;2熟悉傅立叶变换的基本性质; 3熟练掌握FFT 变换方法及应用; 4通过实验了解二维频谱的分布特点;5通过本实验掌握利用MATLAB 编程实现数字图像的傅立叶变换。
6评价人眼对图像幅频特性和相频特性的敏感度。
二、实验原理1 应用傅立叶变换进行图像处理傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。
通过实验培养这项技能,将有助于解决大多数图像处理问题。
对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。
2 傅立叶(Fourier )变换的定义对于二维信号,二维Fourier 变换定义为:2()(,)(,)j ux uy F u v f x y e dxdy π∞∞-+-∞-∞=⎰⎰逆变换:2()(,)(,)j ux uy f x y F u v e dudv π∞∞+-∞-∞=⎰⎰二维离散傅立叶变换为:112()001(,)(,)i k N N j mn N Ni k F m n f i k eNπ---+===∑∑逆变换:112()001(,)(,)i k N N j mn N Nm n f i k F m n eNπ--+===∑∑图像的傅立叶变换与一维信号的傅立叶变换变换一样,有快速算法,具体参见参考书目,有关傅立叶变换的快速算法的程序不难找到。
实际上,现在有实现傅立叶变换的芯片,可以实时实现傅立叶变换。
3利用MATLAB软件实现数字图像傅立叶变换的程序:I=imread(‘原图像名.gif’);%读入原图像文件imshow(I); %显示原图像fftI=fft2(I); %二维离散傅立叶变换sfftI=fftshift(fftI); %直流分量移到频谱中心RR=real(sfftI); %取傅立叶变换的实部II=imag(sfftI); %取傅立叶变换的虚部A=sqrt(RR.^2+II.^2); %计算频谱幅值A=(A-min(min(A)))/(max(max(A))-min(min(A)))*225 %归一化figure; %设定窗口imshow(A); %显示原图像的频谱三、实验步骤1.将图像内容读入内存;2.用Fourier变换算法,对图像作二维Fourier变换;3.将其幅度谱进行搬移,在图像中心显示;4.用Fourier系数的幅度进行Fourier反变换;5.用Fourier系数的相位进行Fourier反变换;6.比较4、5的结果,评价人眼对图像幅频特性和相频特性的敏感度。
数字图像处理报告——图像的平滑和傅里叶变化第一篇:数字图像处理报告——图像的平滑和傅里叶变化数字图像处理实验报告课程数字图像处理实验名称图像平滑处理噪声和傅里叶变换专业班级姓名学号实验日期 2010.12 教师审批签字目录一,实验目的和要求.............................................3 二,实验内容和原理.............................................3~4 三,相关函数......................................................4 四,源程序代码及运行结果....................................5~12 4.1给图像添加椒盐噪声或者高斯噪声.......................................5 4.2对被噪声污染的图像进行中值滤波和均值滤波........................6 4.3进行空间域的平滑............................................................7 4.4,开发自己的空间域的均值滤波,模板大小使用3×3...............8 4.5,自己的空间域的图像锐化--算子锐化.................................9 4.6,傅里叶变换和傅里叶反变换.............................................10 4.7,巴特沃斯低通滤波.........................................................11 五,心得体会.........................................................13 六,参考文献. (13)图像平滑处理噪声和傅里叶变换一、实验目的和要求1、实验目的(1)熟悉Matlab软件、编程以及图像处理工具箱。
数字图像处理实验报告班级:学号:姓名:实验一DTF变换与余弦变换一、实验内容:用Matlab对某幅图像进行图像的离散付里叶变换、离散余弦变换二、实验目的:1. 掌握傅立叶变换2. 理解频域变换的通用公式3. 掌握离散余弦变换三、实验原理:f=imread(C:\);F=fft2(f);F=fft2(f,P,Q);S=abs(F);Fc=fftshift(F);S2=log(1+abs(Fc));F=ifftshift(Fc);F=ifft2(F);F=real(ifft2(F));dct2f()/idct2()imshow四、源程序:%傅里叶变换clear all;clc;x=imread('C:\Users\K\Desktop\matlab experiment\windows.jpg');y=imread('C:\Users\K\Desktop\matlab experiment\windows1.jpg');subplot(3,2,1);imshow(x);title('x 原图');subplot(3,2,2);imshow(y);title('y 原图');% 傅里叶变换qf=fft2(double(x));lf=fft2(double(y));%取幅度和相位qf1=abs(qf);qf2=angle(qf);lf1=abs(lf);lf2=angle(lf);%进行重建qfr=qf1.*cos(qf2)+qf1.*sin(qf2).*i;lfr=lf1.*cos(lf2)+lf1.*sin(lf2).*i;xr=uint8(abs(ifft2(qfr)));yr=uint8(abs(ifft2(lfr)));subplot(3,2,3);imshow(xr,[]);title('x幅谱与相谱重建'); subplot(3,2,4);imshow(yr,[]);title('y幅谱与相谱重建'); qfrm=qf1.*cos(lf2)+qf1.*sin(lf2).*i;lfrm=lf1.*cos(qf2)+lf1.*sin(qf2).*i;xr1=uint8(abs(ifft2(qfrm)));yr1=uint8(abs(ifft2(lfrm)));subplot(3,2,5);imshow(xr1,[]);title('x幅谱与y相谱重建'); subplot(3,2,6);imshow(yr1,[]);title('y幅谱与x相谱重建');%余弦变换x1=rgb2gray(x);y1=rgb2gray(y);figure(2);subplot(3,2,1);imshow(x1);title('x 原图');subplot(3,2,2);imshow(y1);title('y 原图');dctxchange=dct2(x1);dctychange=dct2(y1);subplot(3,2,3);imshow(log(abs(dctxchange)),[]);title('x图余弦变换幅频');subplot(3,2,4);imshow(log(abs(dctychange)),[]);title('y图余弦变换幅频');subplot(3,2,5);imshow(log(angle(dctxchange)),[]);title('x图余弦变换相频');subplot(3,2,6);imshow(log(angle(dctychange)),[]);title('y图余弦变换相频');%重建dctxchange1=abs(dctxchange);dctxchange2=angle(dctxchange);dctychange1=abs(dctychange);dctychange2=angle(dctychange);figure(2)dctxchanger=dctxchange1.*cos(dctxchange2)+dctxchange1.*sin(dctxch ange2).*i;dctychanger=dctychange1.*cos(dctychange2)+dctychange1.*sin(dctych ange2).*i;dctxchanger=uint8(abs(idct2(dctxchanger)));dctychanger=uint8(abs(idct2(dctychanger)));subplot(221);imshow(dctxchanger,[]);title('x幅谱与相谱重建');subplot(222);imshow(dctychanger,[]);title('y幅谱与相谱重建');dctxchanger=dctxchange1.*cos(dctychange2)+dctxchange1.*sin(dctych ange2).*i;dctychanger=dctychange1.*cos(dctxchange2)+dctychange1.*sin(dctxchange2).*i;dctxchanger1=uint8(abs(idct2(dctxchanger)));dctychanger1=uint8(abs(idct2(dctychanger)));subplot(223);imshow(dctxchanger1,[]);title('x幅谱与y相谱重建');subplot(224);imshow(dctychanger1,[]);title('y幅谱与x相谱重建');五、实验结果:实验二图像点操作一、实验内容:用Matlab对某幅图像进行反变换、对数变换、指数变换、分段线性变换二、实验目的:理解并掌握图像点运算处理三、实验原理:为了突出感兴趣的目标或灰度区间 相对抑制那些不感兴趣的目标或灰度区间常采用分段线性变换法。
数字图像处理实验报告一、应用MATLAB语言编写显示一幅灰度图像、二值图像、索引图像及彩色图像的程序,并进行相互之间的转换;1、灰度图像I转换成索引图像X,二值图像A,并显示I=imread('E:\mao2.bmp');[X,map]=gray2ind(I,144); %指定灰度级为144,转换成索引图像A=im2bw(I); %转换成二值图像Asubplot(131);imshow(I); title('原始图像'); %显示图像subplot(132);imshow(X); title('索引图像')subplot(133);imshow(A) ;title('二值图像')2、彩图B分别转换为灰度图像I,索引图像X,二值图像A,并显示B=imread('E:\mao1.bmp');I=rgb2gray(B);[X,map]=rgb2ind(B);A=im2bw(B);subplot(141);imshow(B); title('原始图像');subplot(142);imshow(I); title('灰度图像');subplot(143);imshow(X); title('索引图像');subplot(144);imshow(A);title('二值图像');3、索引图像X转换成灰度图像I和二值图像A,并显示I=imread('E:\mao1.bmp');[X,map]=gray2ind(I,144); %将读入的灰度图像转换成索引图像H=ind2gray(X,map); %索引图像到灰度图像A=im2bw(X); %索引图像到二值图像subplot(131);imshow(X); title('索引图像'); %显示图像subplot(132);imshow(H); title('灰度图像');subplot(133);imshow(A) ;title('二值图像')二、应用MATLAB工具箱演示一幅图像的傅里叶变换、离散余弦变换,观察其频谱图。
数字图像处理试验报告实验二:数字图像的空间滤波和频域滤波姓名: XX学号: 2XXXXXXX实验日期:2017年4月26日1. 实验目的1. 掌握图像滤波的基本定义及目的。
2. 理解空间域滤波的基本原理及方法。
3. 掌握进行图像的空域滤波的方法。
4. 掌握傅立叶变换及逆变换的基本原理方法。
5. 理解频域滤波的基本原理及方法。
6. 掌握进行图像的频域滤波的方法。
2. 实验内容与要求1. 平滑空间滤波:1) 读出一幅图像,给这幅图像分别加入椒盐噪声和高斯噪声后并与前一张图显示在同一图像窗口中。
2)对加入噪声图像选用不同的平滑(低通)模板做运算,对比不同模板所形成的效果,要求在同一窗口中显示。
3)使用函数 imfilter时,分别采用不同的填充方法(或边界选项,如零填充、’ replicate ’、’ symmetric ’、’ circular ’)进行低通滤波,显示处理后的图像。
4) 运用 for 循环,将加有椒盐噪声的图像进行10 次, 20 次均值滤波,查看其特点, 显示均值处理后的图像(提示 : 利用 fspecial 函数的’ average ’类型生成均值滤波器)。
5) 对加入椒盐噪声的图像分别采用均值滤波法,和中值滤波法对有噪声的图像做处理,要求在同一窗口中显示结果。
6)自己设计平滑空间滤波器,并将其对噪声图像进行处理,显示处理后的图像。
2.锐化空间滤波1) 读出一幅图像,采用3×3 的拉普拉斯算子 w = [ 1, 1, 1; 1 – 81;1,1, 1]对其进行滤波。
2) 编写函数 w = genlaplacian(n) ,自动产生任一奇数尺寸n 的拉普拉斯算子,如 5×5的拉普拉斯算子w = [ 1 1 1 1 11 1 1 1 11 1 -24 1 11 1 1 1 11 1 1 1 1]3) 分别采用5×5,9×9,15×15 和 25×25 大小的拉普拉斯算子对blurry_moon.tif进行锐化滤波,并利用式 g(x, y)2 f (x, y) 完成图像的锐化增强,观察其有何f (x, y)不同,要求在同一窗口中显示。
姓名:朱慧娟班级:电子二班学号:410109060325实验2 图像频谱分析一、实验目的1、了解图像变换的意义和手段。
2、熟悉及掌握图像的变换原理及性质,实现图像的傅里叶变换。
二、实验内容1、分别显示图像Bridge.bmp、cameraman.tif(自带图像)、blood.tif及其频谱,观察图像频谱的特点。
2、生成一幅图像,图像中背景黑色,目标为一亮条;平移亮条,观察其频谱的变化。
3、对lena.bmp图像进行旋转,显示原始图像与旋转后图像,及其傅里叶频谱,分析旋转前、后傅里叶频谱的对应关系。
三、实验程序及结果1.1 实验程序clear; %清除以前实验变量a=imread('e:\ZHJ\Bridge.bmp'); %读入图像Bridge.bmp,并记为ab=imread('cameraman.tif'); %读入图像cameraman.tif,并记为bc=imread('e:\ZHJ\blood.tif'); %读入图像blood.tif,并记为cd=fft2(a); %对图像a进行傅里叶变换,并记为de=fftshift(d); %将变换后图像频谱中心从矩阵的原点移动到矩阵的中心,并记为e A=abs(e); %对e取绝对值,及得到图像a的幅度谱,并记为AB=log(1+A); %对幅度谱A取对数,并记为Bf=fft2(b); %对图像b进行傅里叶变换,并记为fg=fftshift(f); %将变换后图像频谱中心从矩阵的原点移动到矩阵的中心,并记为g C=abs(g); %对g取绝对值,及得到图像b的幅度谱,并记为CD=log(1+C); %对幅度谱C取对数,并记为Dh=fft2(c); %对图像c进行傅里叶变换,并记为hi=fftshift(h); %将变换后图像频谱中心从矩阵的原点移动到矩阵的中心,并记为i E=abs(i); %对i取绝对值,及得到图像c的幅度谱,并记为EF=log(1+E); %对幅度谱E取对数,并记为Ffigure(1); %建立图表1subplot(2,1,1); %将图表1分成两部分,第一部分imshow(a); %显示图像atitle('Bridge.bmp'); %给图像a加标题‘Bridge.bmp’subplot(2,1,2); %将图表1分成两部分,第二部分imshow(B,[]); %显示B即图像a的频谱图title('Bridge.bmp频谱图'); %给图像B加标题‘Bridge.bmp频谱图’figure(2); %建立图表2subplot(2,1,1); %将图表2分成两部分,第一部分imshow(b); %显示图像btitle('cameraman.tif'); %给图像b加标题‘cameraman.tif’subplot(2,1,2); %将图表2分成两部分,第二部分imshow(D,[]); %显示D即图像b的频谱图title('cameraman.tif频谱图'); %给图像D加标题‘cameraman.tif频谱图’figure(3); %建立图表3subplot(2,1,1); %将图表3分成两部分,第一部分imshow(c); %显示图像ctitle('blood.tif'); %给图像c加标题‘blood.tif’subplot(2,1,2); %将图表3分成两部分,第二部分imshow(F,[]); %显示F即图像c的频谱图title('blood.tif频谱图'); %给图像F加标题‘blood.tif频谱图’1.2 实验结果2.1 实验程序clear; %清除以前实验变量A= zeros(256,256); %建立行列都是256的0矩阵,即建立黑色图,并记为AA(10:20,:)=256; %矩阵A中第十到二十行数据改为256,即在黑色图像上加上亮条纹B=circshift(A,[50, 0]); %将矩阵A行向移动50行,得到新矩阵记为Ba=fft2(A); %对矩阵A进行傅里叶变换,并记为ab=fftshift(a); %将变换后图像频谱中心从矩阵的原点移动到矩阵的中心,并记为b M=abs(b); %对b取绝对值,及得到矩阵A的幅度谱,并记为MN=log(1+M); %对幅度谱M取对数,并记为Nc=fft2(B); %对矩阵B进行傅里叶变换,并记为cd=fftshift(c); %将变换后图像频谱中心从矩阵的原点移动到矩阵的中心,并记为d S=abs(d); %对d取绝对值,及得到矩阵B的幅度谱,并记为ST=log(1+S); %对幅度谱S取对数,并记为Tfigure; %建立图表subplot(2,2,1); %将图表分成四部分,第一部分imshow(A); %显示图像Atitle('原图像'); %给所显示图像加标题‘原图像’subplot(2,2,2); %将图表分成四部分,第二部分imshow(B); %显示图像Btitle('平移后图像'); %给所显示图像加标题‘平移后图像’subplot(2,2,3); %将图表分成四部分,第三部分imshow(N,[]); %显示图像A的频谱图title('原图像频谱图'); %给所显示图像加标题‘原图像频谱图’subplot(2,2,4); %将图表分成四部分,第四部分imshow(T,[]); %显示图像B的频谱图title('平移后图像频谱图'); %给所显示图像加标题‘平移后图像频谱图’2.2 实验结果3.1 实验程序clear; %清除以前实验变量a=imread('e:\ZHJ\lena.bmp'); %读入图像lena.bmp,并记为ab=imrotate(a,-45); %将图像a顺时针旋转45度c=fft2(a); %对图像a进行傅里叶变换,并记为cd=fftshift(c); %将变换后图像频谱中心从矩阵的原点移动到矩阵的中心,并记为d A=abs(d); %对d取绝对值,及得到图像a的幅度谱,并记为AB=log(1+A); %对幅度谱A取对数,并记为Be=fft2(b); %对图像b进行傅里叶变换,并记为ef=fftshift(e); %将变换后图像频谱中心从矩阵的原点移动到矩阵的中心,并记为f C=abs(f); %对f取绝对值,及得到图像b的幅度谱,并记为CD=log(1+C); %对幅度谱C取对数,并记为Dfigure; %建立图表subplot(2,2,1); %将图表分成四部分,第一部分imshow(a); %显示图像atitle('原图像'); %给所显示图像加标题‘原图像’subplot(2,2,2); %将图表分成四部分,第二部分imshow(b); %显示图像btitle('旋转后图像'); %给所显示图像加标题‘旋转后图像’subplot(2,2,3); %将图表分成四部分,第三部分imshow(B,[]); %显示图像a的频谱图title('原图像频谱图'); %给所显示图像加标题‘原图像频谱图’subplot(2,2,4); %将图表分成四部分,第四部分imshow(D,[]); %显示图像b的频谱图title('旋转后平移后图像频谱图'); %给所显示图像加标题‘旋转后平移后图像频谱图’3.2 实验结果四、思考题1.图像频谱有哪些特点?答:频谱图,四个角对应低频成分,中央部分对应高频成分;图像亮条的平移影响频谱的分布,但当频谱搬移到中心时,图像亮条的平移后频谱图是相同的。
数字图像处理及MATLAB实现实验四——图像变换1.图像的傅⾥叶变换⼀(平移性质)傅⾥叶变换的平移性质表明了函数与⼀个指数项相乘等于将变换后的空域中⼼移到新的位置,并且平移不改变频谱的幅值。
I=imread('1.bmp');figure(1)imshow(real(I));I=I(:,:,3);fftI=fft2(I);sfftI=fftshift(fftI); %求离散傅⾥叶频谱%对原始图像进⾏⼆维离散傅⾥叶变换,并将其坐标原点移到频谱图中央位置RRfdp1=real(sfftI);IIfdp1=imag(sfftI);a=sqrt(RRfdp1.^2+IIfdp1.^2);a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;figure(2)imshow(real(a));I=imread('2.bmp');figure(1)imshow(real(I));I=I(:,:,3);fftI=fft2(I);sfftI=fftshift(fftI); %求离散傅⾥叶频谱%对原始图像进⾏⼆维离散傅⾥叶变换,并将其坐标原点移到频谱图中央位置RRfdp1=real(sfftI);IIfdp1=imag(sfftI);a=sqrt(RRfdp1.^2+IIfdp1.^2);a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;figure(2)imshow(real(a));I=imread('3.bmp');figure(1)imshow(real(I));I=I(:,:,3);fftI=fft2(I);sfftI=fftshift(fftI); %求离散傅⾥叶频谱%对原始图像进⾏⼆维离散傅⾥叶变换,并将其坐标原点移到频谱图中央位置RRfdp1=real(sfftI);IIfdp1=imag(sfftI);a=sqrt(RRfdp1.^2+IIfdp1.^2);a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;figure(2)imshow(real(a));实验结果符合傅⾥叶变换平移性质2.图像的傅⾥叶变换⼆(旋转性质)%构造原始图像I=zeros(256,256);I(88:168,124:132)=1; %图像范围是256*256,前⼀值是纵向⽐,后⼀值是横向⽐imshow(I)%求原始图像的傅⾥叶频谱J=fft2(I);F=abs(J);J1=fftshift(F);figureimshow(J1,[550])%对原始图像进⾏旋转J=imrotate(I,90,'bilinear','crop');figureimshow(J)%求旋转后图像的傅⾥叶频谱J=fft2(I);F=abs(J);J2=fftshift(F);figureimshow(J2,[550])3.图像的离散余弦变换⼀%对cameraman.tif⽂件计算⼆维DCT变换RGB=imread('cameraman.tif');figure(1)imshow(RGB)I=rgb2gray(RGB);%真彩⾊图像转换成灰度图像J=dct2(I);%计算⼆维DCT变换figure(2)imshow(log(abs(J)),[])%图像⼤部分能量集中在左上⾓处figure(3);J(abs(J)<10)=0;%把变换矩阵中⼩于10的值置换为0,然后⽤idct2重构图像K=idct2(J)/255;imshow(K)4.图像的离散余弦变换⼆% I=imread('1.bmp');% figure(1)% imshow(real(I));% I=I(:,:,3);% fftI=fft2(I);% sfftI=fftshift(fftI); %求离散傅⾥叶频谱% %对原始图像进⾏⼆维离散傅⾥叶变换,并将其坐标原点移到频谱图中央位置% RRfdp1=real(sfftI);% IIfdp1=imag(sfftI);% a=sqrt(RRfdp1.^2+IIfdp1.^2);% a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;% figure(2)% imshow(real(a));% I=imread('2.bmp');% figure(1)% imshow(real(I));% I=I(:,:,3);% fftI=fft2(I);% sfftI=fftshift(fftI); %求离散傅⾥叶频谱% %对原始图像进⾏⼆维离散傅⾥叶变换,并将其坐标原点移到频谱图中央位置% RRfdp1=real(sfftI);% IIfdp1=imag(sfftI);% a=sqrt(RRfdp1.^2+IIfdp1.^2);% a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;% figure(2)% imshow(real(a));% I=imread('3.bmp');% figure(1)% imshow(real(I));% I=I(:,:,3);% fftI=fft2(I);% sfftI=fftshift(fftI); %求离散傅⾥叶频谱% %对原始图像进⾏⼆维离散傅⾥叶变换,并将其坐标原点移到频谱图中央位置% RRfdp1=real(sfftI);% IIfdp1=imag(sfftI);% a=sqrt(RRfdp1.^2+IIfdp1.^2);% a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;% figure(2)% imshow(real(a));% %构造原始图像% I=zeros(256,256);% I(88:168,124:132)=1; %图像范围是256*256,前⼀值是纵向⽐,后⼀值是横向⽐% imshow(I)% %求原始图像的傅⾥叶频谱% J=fft2(I);% F=abs(J);% J1=fftshift(F);figure% imshow(J1,[550])% %对原始图像进⾏旋转% J=imrotate(I,90,'bilinear','crop');% figure% imshow(J)% %求旋转后图像的傅⾥叶频谱% J=fft2(I);% F=abs(J);% J2=fftshift(F);figure% imshow(J2,[550])% %对cameraman.tif⽂件计算⼆维DCT变换% RGB=imread('cameraman.tif');% figure(1)% imshow(RGB)% I=rgb2gray(RGB);% %真彩⾊图像转换成灰度图像% J=dct2(I);% %计算⼆维DCT变换% figure(2)% imshow(log(abs(J)),[])% %图像⼤部分能量集中在左上⾓处% figure(3);% J(abs(J)<10)=0;% %把变换矩阵中⼩于10的值置换为0,然后⽤idct2重构图像% K=idct2(J)/255;% imshow(K)RGB=imread('cameraman.tif');I=rgb2gray(RGB);I=im2double(I); %转换图像矩阵为双精度型T=dctmtx(8); %产⽣⼆维DCT变换矩阵%矩阵T及其转置T'是DCT函数P1*X*P2的参数B=blkproc(I,[88],'P1*x*P2',T,T');maxk1=[ 1111000011100000110000001000000000000000000000000000000000000000 ]; %⼆值掩模,⽤来压缩DCT系数B2=blkproc(B,[88],'P1.*x',mask1); %只保留DCT变换的10个系数I2=blkproc(B2,[88],'P1*x*P2',T',T); %重构图像figure,imshow(T);figure,imshow(B2);figure,imshow(I2);RGB=imread('cameraman.tif');I=rgb2gray(RGB);I=im2double(I); %转换图像矩阵为双精度型T=dctmtx(8); %产⽣⼆维DCT变换矩阵%矩阵T及其转置T'是DCT函数P1*X*P2的参数B=blkproc(I,[88],'P1*x*P2',T,T');maxk1=[ 1111000011100000100000000000000000000000000000000000000000000000 ]; %⼆值掩模,⽤来压缩DCT系数B2=blkproc(B,[88],'P1.*x',mask1); %只保留DCT变换的10个系数I2=blkproc(B2,[88],'P1*x*P2',T',T); %重构图像figure,imshow(T);figure,imshow(B2);figure,imshow(I2);5.图像的哈达玛变换cr=0.5;I=imread('cameraman.tif');I=im2double(I)/255; %将读⼊的unit8类型的RGB图像I转换为double类型的数据figure(1),imshow(I);%显⽰%求图像⼤⼩[m_I,n_I]=size(I); %提取矩阵I的⾏列数,m_I为I的⾏数,n_I为I的列数sizi=8;snum=64;%分块处理t=hadamard(sizi) %⽣成8*8的哈达码矩阵hdcoe=blkproc(I,[sizi sizi],'P1*x*P2',t,t');%将图⽚分成8*8像素块进⾏哈达码变换%重新排列系数CE=im2col(hdcoe,[sizi,sizi],'distinct');%将矩阵hdcode分为8*8互不重叠的⼦矩阵,再将每个⼦矩阵作为CE的⼀列[Y Ind]=sort(CE); %对CE进⾏升序排序%舍去⽅差较⼩的系数,保留原系数的⼆分之⼀,即32个系数[m,n]=size(CE);%提取矩阵CE的⾏列数,m为CE的⾏数,n为CE的列数snum=snum-snum*cr;for i=1:nCE(Ind(1:snum),i)=0;end%重建图像re_hdcoe=col2im(CE,[sizi,sizi],[m_I,n_I],'distinct');%将矩阵的列重新组织到块中re_I=blkproc(re_hdcoe,[sizi sizi],'P1*x*P2',t',t);%进⾏反哈达码变换,得到压缩后的图像re_I=double(re_I)/64; %转换为double类型的数据figure(2);imshow(re_I);%计算原始图像和压缩后图像的误差error=I.^2-re_I.^2;MSE=sum(error(:))/prod(size(re_I));。
计算机科学与技术系实验报告专业名称计算机科学与技术 _____课程名称数字图像处理项目名称Matlab 语言、图像的傅里叶变换班级14 计科2班_________学号23 _____________姓名 _______ 卢爱胜______________同组人员张佳佳、王世兜、张跃文_________实验日期 ________________、实验目的与要求:(简述本次实验要求达到的目的,涉及到的相关知识点,实验的具体要求。
)实验目的:1 了解图像变换的意义和手段;2 熟悉傅立叶变换的基本性质;3 熟练掌握FFT 变换方法及应用;4 通过实验了解二维频谱的分布特点;5通过本实验掌握利用MATLABS程实现数字图像的傅立叶变换。
6 评价人眼对图像幅频特性和相频特性的敏感度。
实验要求:应用傅立叶变换进行图像处理傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。
通过实验培养这项技能,将有助于解决大多数图像处理问题。
对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。
二、实验内容(根据本次实验项目的具体任务和要求,完成相关内容,可包括:实验目的、算法原理、实验仪器、设备选型及连线图、算法描述或流程图、源代码、实验运行步骤、关键技术分析、测试数据与实验结果、其他 )1. 傅立叶( Fourier )变换的定义对于二维信号,二维Fourier 变换定义为:F (u, v) f (x,y)e j2 (ux uy)dxdy逆变换:f (x, y) F (u,v)e j2 (ux uy)dudv二维离散傅立叶变换为:clc;clear alll=imread('Fig0707(a)(Original).'); imshow(l); %title(' 原始图像')fftl=fft2(l); sfftl=fftshift(fftl);RR=real(sfftl); ll=imag(sfftl);% % %%% % 读入原图像文件 显示原图像 二维离散傅立叶变换 直流分量移到频谱中心 取傅立叶变换的实部 取傅立叶变换的虚部 计算频谱幅值A=sqrt(RR.A2+ll.A2); A=(A-mi n(mi n( A)))/(max(max(A))-mi n(mi n( A)))*225;%figure; %imshow(A); %title(' 原始图像的频谱')f1=ifft2(A); %设定窗口 显示原图像的频谱 Fourier 系数的幅度进行 Fourier 系数的相位进行 归一化 Fourier 反变换 Fourier 反变换;d N 1N 1 j2 (m 丄 n 上) F(m, n) —f(i,k)e N NN i o k o 逆变换: d N 1N 1 j2 (m 丄 nl)f(i,k) 1F(m, n)e N NN m 0 n 0 图像的傅立叶变换与一维信号的傅立叶变换变换一样,有快速算法,具体参见参考书目,有关傅立叶变换的快速算法的程序不难找到 傅立叶变换的芯片,可以实时实现傅立叶变换。
数字图像处理的傅里叶变换1.课程设计目的和意义(1)了解图像变换的意义和手段(2)熟悉傅里叶变换的基本性质(3)热练掌握FFT的方法反应用(4)通过本实验掌握利用MATLAB编程实现数字图像的傅里叶变换通过本次课程设计,掌握如何学习一门语言,如何进行资料查阅搜集,如何自己解决问题等方法,养成良好的学习习惯。
扩展理论知识,培养综合设计能力。
2.课程设计内容(1)熟悉并掌握傅立叶变换(2)了解傅立叶变换在图像处理中的应用(3)通过实验了解二维频谱的分布特点(4)用MATLAB实现傅立叶变换仿真3.课程设计背景与基本原理傅里叶变换是可分离和正交变换中的一个特例,对图像的傅里叶变换将图像从图像空间变换到频率空间,从而可利用傅里叶频谱特性进行图像处理。
从20世纪60年代傅里叶变换的快速算法提出来以后,傅里叶变换在信号处理和图像处理中都得到了广泛的使用。
3.1课程设计背景数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。
是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。
3.2傅里叶变换(1)应用傅里叶变换进行数字图像处理数字图像处理(digital image processing)是用计算机对图像信息进行处理的一门技术,使利用计算机对图像进行各种处理的技术和方法。
20世纪20年代,图像处理首次得到应用。
20世纪60年代中期,随电子计算机的发展得到普遍应用。
60年代末,图像处理技术不断完善,逐渐成为一个新兴的学科。
利用数字图像处理主要是为了修改图形,改善图像质量,或是从图像中提起有效信息,还有利用数字图像处理可以对图像进行体积压缩,便于传输和保存。
数字图像处理主要研究以下内容:傅立叶变换、小波变换等各种图像变换;对图像进行编码和压缩;采用各种方法对图像进行复原和增强;对图像进行分割、描述和识别等。
数字图像处理试验报告实验二:数字图像的空间滤波与频域滤波姓名:XX学号:2XXXXXXX 实验日期:2017 年4 月26 日1、实验目的1、掌握图像滤波的基本定义及目的。
2、理解空间域滤波的基本原理及方法。
3、掌握进行图像的空域滤波的方法。
4、掌握傅立叶变换及逆变换的基本原理方法。
5、理解频域滤波的基本原理及方法。
6、掌握进行图像的频域滤波的方法。
2、实验内容与要求1、平滑空间滤波:1) 读出一幅图像,给这幅图像分别加入椒盐噪声与高斯噪声后并与前一张图显示在同一图像窗口中。
2) 对加入噪声图像选用不同的平滑(低通)模板做运算,对比不同模板所形成的效果, 要求在同一窗口中显示。
3) 使用函数 imfilter 时, 分别采用不同的填充方法( 或边界选项, 如零填充、’replicate’、’symmetric’、’circular’)进行低通滤波,显示处理后的图像。
4) 运用for 循环,将加有椒盐噪声的图像进行10 次,20 次均值滤波,查瞧其特点, 显示均值处理后的图像(提示:利用fspecial 函数的’average’类型生成均值滤波器)。
5) 对加入椒盐噪声的图像分别采用均值滤波法,与中值滤波法对有噪声的图像做处理,要求在同一窗口中显示结果。
6) 自己设计平滑空间滤波器,并将其对噪声图像进行处理,显示处理后的图像。
2、锐化空间滤波1) 读出一幅图像,采用3×3 的拉普拉斯算子 w = [ 1, 1, 1; 1 – 8 1; 1, 1, 1]对其进行滤波。
2) 编写函数w = genlaplacian(n),自动产生任一奇数尺寸n 的拉普拉斯算子,如5×5的拉普拉斯算子w = [ 1 1 1 1 11 1 1 1 11 1 -24 1 11 1 1 1 11 1 1 1 1]3) 分别采用5×5,9×9,15×15与25×25大小的拉普拉斯算子对blurry_moon、tiff (x, y) -∇2 f (x, y) 完成图像的锐化增强,观察其有何进行锐化滤波,并利用式g(x, y) =不同,要求在同一窗口中显示。
数字图像处理实验报告重庆邮电⼤学《数字图像处理》课程上机实验学院⽣物信息学院专业⽣物医学⼯程班级 0611302姓名李霞学号 2013211957实验⼀MATLAB数字图像处理初步⼀、实验⽬的与要求1.熟悉及掌握在MATLAB中能够处理哪些格式图像。
2.熟练掌握在MATLAB中如何读取图像。
3.掌握如何利⽤MATLAB来获取图像的⼤⼩、颜⾊、⾼度、宽度等等相关信息。
4.掌握如何在MATLAB中按照指定要求存储⼀幅图像的⽅法。
5.图像间如何转化。
⼆、实验原理及知识点1、数字图像的表⽰和类别⼀幅图像可以被定义为⼀个⼆维函数f(x,y),其中x和y是空间(平⾯)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。
灰度是⽤来表⽰⿊⽩图像亮度的⼀个术语,⽽彩⾊图像是由单个⼆维图像组合形成的。
例如,在RGB彩⾊系统中,⼀幅彩⾊图像是由三幅独⽴的分量图像(红、绿、蓝)组成的。
因此,许多为⿊⽩图像处理开发的技术适⽤于彩⾊图像处理,⽅法是分别处理三副独⽴的分量图像即可。
图像关于x和y坐标以及振幅连续。
要将这样的⼀幅图像转化为数字形式,就要求数字化坐标和振幅。
将坐标值数字化成为取样;将振幅数字化成为量化。
采样和量化的过程如图1所⽰。
因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。
作为MATLAB基本数据类型的数值数组本⾝⼗分适于表达图像,矩阵的元素和图像的像素之间有着⼗分⾃然的对应关系。
根据图像数据矩阵解释⽅法的不同,MA TLAB把其处理为4类:亮度图像(Intensity images)⼆值图像(Binary images)索引图像(Indexed images)RGB图像(RGB images)(1) 亮度图像⼀幅亮度图像是⼀个数据矩阵,其归⼀化的取值表⽰亮度。
若亮度图像的像素都是uint8类或uint16类,则它们的整数值范围分别是[0,255]和[0,65536]。
若图像是double类,则像素取值就是浮点数。
实验一、图像的显示与格式变换1、实验目的1)熟悉常用的图像文件格式与格式转换;2)熟悉图像矩阵的显示方法(灰度、索引、黑白、彩色);3)熟悉图像矩阵的格式转换2、实验内容练习图像读写命令imread和imwrite并进行图像文件格式间的转换。
特别是索引图像与1,4,8,16比特图像的存储与转换。
3、实验步骤a.用图像读命令(imread)从你的硬盘中读取图像(cameramen.tif);b.用图像显示功能(imshow)将刚读入的图像显示在一图像窗中;c.显示颜色条功能(colorbar)在图像的左边画一条颜色亮度显示条;d.用(imfinfo)功能得到(gray.bmp)图像的相关信息;e.用(colormap )获取当前图像的调色板,观察调色板中的颜色设置;f.用(getimage)功能从坐标轴取得当前图像数据;g.用(imagesc)功能显示图像从64-128的灰度值;h. 用(immovie)功能将一个4-D 图像创建多帧索引图的电影动画;i. 用(warp)功能将图像('testpat1.tif)显示到纹理映射柱面;思考:怎样让(cameraman.tif)图像如下图一样显示?四.实验结果及代码a.代码:>>X=imread(‘cameraman.tif’)b.代码:>>y=imshow(X)显示的图像为:c、代码:>>I = colorbar('cameraman.tif')H=imshow('cameraman.tif')显示的图像为d、代码:>>info=imfinfo(‘gray.bmp')显示结果为:Filename: [1x71 char]FileModDate: '16-Apr-2010 11:23:52'FileSize: 107786Format: 'bmp'FormatV ersion: 'V ersion 3 (Microsoft Windows 3.x)'Width: 409Height: 259BitDepth: 8ColorType: 'indexed'FormatSignature: 'BM'NumColormapEntries: 256Colormap: [256x3 double]RedMask: []GreenMask: []BlueMask: []ImageDataOffset: 1078BitmapHeaderSize: 40NumPlanes: 1CompressionType: 'none'BitmapSize: 106708HorzResolution: 0V ertResolution: 0NumColorsUsed: 0NumImportantColors: 0e、代码:>>x=imread(‘256.bmp’)color1=colormap %获取当前图象的调色板image (x)info=imfinfo(’256.bmp’)color2=info.Colormap %注意观察调色板有多少种颜色colormap(color2)f、代码:>>I=getimageg、代码:>> imagesc(x,[64 128])h、代码:>> load mri;mov = immovie(D,map); movie(mov,3)显示图像为:i.源代码:>>[x,y,z]=cylinder;I= imread('testpat1.tif');warp(x,y,z,I),图像显示为:思考:代码:>>X=inread('cameramen.tif');Y=[X X];[x,-y,z]=cylinder;I=imread(Y);warp(x,y,z,I)显示图像为:实验二、图像增强一、实验目的1.理解图像直方图的含义;2.了解直方图的应用;3.掌握直方图均衡化的实现方法。
目录实验一:数字图像的基本处理操作 (2)1。
1:实验目的 (2)1。
2:实验任务和要求 (2)1.3:实验步骤和结果 (2)1。
4:结果分析 (6)实验二:图像的灰度变换和直方图变换 (7)2.1:实验目的 (7)2.2:实验任务和要求 (7)2。
3:实验步骤和结果 (7)2。
4:结果分析 (11)实验三:图像的平滑处理 (12)3.1:实验目的 (12)3。
2:实验任务和要求 (12)3。
3:实验步骤和结果 (12)3。
4:结果分析 (16)实验四:图像的锐化处理 (17)4.1:实验目的 (17)4.2:实验任务和要求 (17)4。
3:实验步骤和结果 (17)4.4:结果分析 (19)实验一:数字图像的基本处理操作1.1:实验目的1、熟悉并掌握MATLAB、PHOTOSHOP等工具的使用;2、实现图像的读取、显示、代数运算和简单变换。
3、熟悉及掌握图像的傅里叶变换原理及性质,实现图像的傅里叶变换。
1。
2:实验任务和要求1.读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。
2.对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题.3.对一幅图像进行平移,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与平移后傅里叶频谱的对应关系。
4.对一幅图像进行旋转,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与旋转后傅里叶频谱的对应关系。
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。
图像的傅立叶变换数字图像处理实验报告
————————————————————————————————作者:————————————————————————————————日期:
计算机与信息工程学院验证性实验报告
专业:通信工程 年级/班级:2011级 2013—2014学年第一学期 课程名称 数字图像处理 指导教师 段新涛
本组成员 学号姓名
实验地点 计科楼111 实验时间 周五5-6节 项目名称 图像的傅立叶变换 实验类型 验证性
一、实验目的
1了解图像变换的意义和手段; 2熟悉傅立叶变换的基本性质;
3熟练掌握FFT 变换方法及应用;
4通过实验了解二维频谱的分布特点;
5通过本实验掌握利用MATLAB 编程实现数字图像的傅立叶变换。
6评价人眼对图像幅频特性和相频特性的敏感度。
二、实验原理
1 应用傅立叶变换进行图像处理
傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。
通过实验培养这项技能,将有助于解决大多数图像处理问题。
对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。
2 傅立叶(Fourier )变换的定义
对于二维信号,二维Fourier 变换定义为:
2()(,)(,)j ux uy F u v f x y e dxdy π∞∞
-+-∞-∞=
⎰⎰
逆变换: 2()(,)(,)j ux uy f x y F u v e dudv π∞∞
+-∞-∞=
⎰⎰
二维离散傅立叶变换为: 112()00
1(,)(,)i k N N j m n N N i k F m n f i k e
N π---+===∑∑ 逆变换: 112()001(,)(,)i k N N j m n N N m n f i k F m n e N π--+===∑∑
图像的傅立叶变换与一维信号的傅立叶变换变换一样,有快速算法,具体参见参考书目,有关傅立叶变换的快速算法的程序不难找到。
实际上,现在有实现傅立叶变换的芯片,可以实时实现傅立叶变换。
3利用MATLAB软件实现数字图像傅立叶变换的程序:
I=imread(‘原图像名.gif’);%读入原图像文件
imshow(I); %显示原图像
fftI=fft2(I); %二维离散傅立叶变换
sfftI=fftshift(fftI); %直流分量移到频谱中心
RR=real(sfftI); %取傅立叶变换的实部
II=imag(sfftI); %取傅立叶变换的虚部
A=sqrt(RR.^2+II.^2); %计算频谱幅值
A=(A-min(min(A)))/(max(max(A))-min(min(A)))*225 %归一化
figure; %设定窗口
imshow(A); %显示原图像的频谱
三、实验步骤
1.将图像内容读入内存;
2.用Fourier变换算法,对图像作二维Fourier变换;
3.将其幅度谱进行搬移,在图像中心显示;
4.用Fourier系数的幅度进行Fourier反变换;
5.用Fourier系数的相位进行Fourier反变换;
6.比较4、5的结果,评价人眼对图像幅频特性和相频特性的敏感度。
7.记录和整理实验报告。
四、实验仪器
1.计算机;
2 .MATLAB程序;
3.移动式存储器(软盘、U盘等)。
4.记录用的笔、纸。
五、实验报告内容
1.叙述实验过程;
2.提交实验的原始图像和结果图像。
六、实验图片
number.tif
七、实验程序及结果
clc;clear all
I=imread('Fig0707(a)(Original).tif.tif'); %读入原图像文件
imshow(I); %显示原图像
title('原始图像')
fftI=fft2(I); %二维离散傅立叶变换
sfftI=fftshift(fftI); %直流分量移到频谱中心
RR=real(sfftI); %取傅立叶变换的实部
II=imag(sfftI); %取傅立叶变换的虚部
A=sqrt(RR.^2+II.^2); %计算频谱幅值
A=(A-min(min(A)))/(max(max(A))-min(min(A)))*225; %归一化
figure; %设定窗口
imshow(A); %显示原图像的频谱
title('原始图像的频谱')
f1=ifft2(A); %用Fourier系数的幅度进行Fourier反变换f2=ifft2(angle(fftI)); %用Fourier系数的相位进行Fourier反变换;
figure
subplot 121;imshow(f1,[])
title('幅度进行Fourier反变换')
subplot 122;imshow(f2,[])
title('相位进行Fourier反变换')
原始图像
原始图像的频谱
幅度进行Fourier反变换相位进行Fourier反变换
教师签名:
年月日。