数字图像处理实验 图像频谱分析
- 格式:doc
- 大小:324.50 KB
- 文档页数:6
实验二、图像的频域处理一、实验类型:综合性实验二、实验目的1. 掌握二维傅里叶变换的原理。
2. 掌握二维傅里叶变换的性质。
三、实验设备:安装有MATLAB 软件的计算机四、实验原理傅里叶变换在图像增强、图像分析、图像恢复和图像压缩等方面扮演着重要的角色。
在计算机上使用傅里叶变换常常涉及到该变换的另一种形式——离散傅里叶变换(DFT )。
使用这种形式的傅里叶变换主要有以下两方面的理由:·DFT 的输入和输出都是离散的,这使得计算机处理更加方便;·求解DFT 问题有快速算法,即快速傅里叶变换(FFT )。
MATLAB 函数fft,fft2 和fftn 可以实现傅里叶变换算法,分别用来计算1 维DFT、2 维DFT 和n 维DFT。
函数ifft,ifft2 和ifftn 用来计算逆DFT。
下面结合一个例子进行演示。
五、实验内容部分一选择一幅图像,对其进行离散傅立叶变换,观察离散傅立叶频谱,并演示二维离散傅立叶变换的主要性质(如平移性、旋转性)。
六、实验步骤与结果(1)创建一个矩阵f,代表一个二值图像。
f=zeros(60,60); %创建一个60行,60列的零矩阵f(10:48,26:34)=1; %使矩阵f的10到48行,26到34列交叉部分置1 imshow(f,'InitialMagnification','fit')/imshow(f,'notruesize'); %显示得到二值图像f,如图所示:(2 )用以下命令计算f 的DFT 并可视化。
F=fft2(f); %对f图像进行傅立叶正变换F2=log(abs(F)); %对F变换得到傅立叶频谱,再用对数变换更好得显示图像imshow(F2,[-1,5],'InitialMagnification','fit'); %显示图像colormap(jet);colorbar %用彩色绘制网线,用彩条信号得到没有0 填充的离散傅里叶变换,如图所示:(3)为了获取傅里叶变换的更佳的取样数据,计算F 的DFT 时给它进行0 填充。
图像的频域变换处理1 实验目的 1. 掌握Fourier ,DCT 和Radon 变换与反变换的原理及算法实现,并初步理解Fourier 、Radon和DCT 变换的物理意义。
2、 利用傅里叶变换、离散余弦变换等处理图像,理解图像变换系数的特点。
3、 掌握图像的频谱分析方法。
4、 掌握图像频域压缩的方法。
5、 掌握二维数字滤波器处理图像的方法。
2 实验原理1、傅里叶变换 fft2函数:F=fft2(A);fftshift 函数:F1=fftshift(F);ifft2函数:M=ifft2(F);2、离散余弦变换:dct2函数 :F=dct2(f2);idct2函数:M=idct2(F);3、 小波变换对静态二维数字图像,可先对其进行若干次二维DWT 变换, 将图像信息分解为高频成分H 、V 和D 和低频成分A 。
对低频部分A ,由于它对压缩的结果影响很大,因此可采用无损编码方法, 如Huffman 、 DPCM 等;对H 、V 和D 部分,可对不同的层次采用不同策略的向量量化编码方法,这样便可大大减少数据量,而图像的解码过程刚好相反。
(1)dwt2[CA,CH,CV,CD]=dwt2(X,’wname’)[CA,CH,CV,CD]=dwt2(X,LO_D,HI_D’)()()⎰⎥⎦⎤⎢⎣⎡-ψ=dt a b t t Rf a 1b ,a W *()⎪⎭⎫ ⎝⎛-ψ=ψa b t a 1t b ,a 112()00(,)[(,)](,)ux vy M N j M N x y f x y eF f x y F u v π---+====∑∑1100(21)(21)(,)(,)()()cos cos 22M N x y x u y v F u v f x y C u C v M Nππ--==++=∑∑CA 图像分解的近似分量,CH 水平分量,CV 垂直分量,CD 细节分量; dwt2(X,’wname ’) 使用小波基wname 对X 进行小波分解。
频谱分析法应用在医学影像处理中的探索第一章:前言在医学领域,图像处理技术有着广泛的应用,其中频谱分析法是其中一种常用的方法。
频谱分析法可以对图像进行频域分析,获得原图像中的频率信息,从而辅助医生对病灶诊断和治疗。
本文将介绍频谱分析法在医学影像处理中的应用研究。
第二章:频谱分析法的原理频谱分析法可以将时域信息转换为频域信息,以便对信号进行更深入的分析。
在频谱分析中,信号经过傅里叶变换,从时域转换到频域。
傅里叶变换可以将一个复杂信号分解成若干简单的正弦曲线,每个正弦曲线代表一个频率分量。
通过对这些频率分量的分析,可以确定信号的频率、振幅和相位等特征信息。
第三章:频谱分析法在医学影像处理中的应用频谱分析法在医学影像处理中有着广泛的应用。
以下将列举几个具体的应用场景。
1. 对不同组织类型进行分类在医学影像中,不同组织类型的亮度、颜色等属性往往与其组织结构和生理特征有关。
通过对不同类型组织在频域的特征进行分析,可以获得它们的频率特征,从而对不同类型组织进行分类。
2. 分析病灶的形态特征在医学影像中,病灶的形态特征可以通过频谱分析来进行分析。
病灶通常具有不同于正常组织的频率特征,通过对其频域特征进行分析,可以发现病灶的潜在形态特征。
3. 诊断疾病频谱分析法在医学中的应用还包括疾病诊断。
例如,通过对脑电图(EEG)信号进行频谱分析,可以诊断癫痫等神经疾病。
通过对心电图(ECG)信号进行频谱分析,可以诊断心律失常等心脏疾病。
第四章:频谱分析法在医学影像处理中的优缺点频谱分析法在医学影像处理中具有以下优点:1. 可以获得原始图像中的频域信息,从而辅助医生进行诊断和治疗。
2. 可以对不同的病灶和组织类型进行分类和分析,为医生提供更多信息。
3. 可以较为直观地展示图像中的频率信息,非专业人士也能进行初步的分析。
频谱分析法在医学影像处理中也存在以下缺点:1. 需要较高的数学知识和专业技能,不易掌握。
2. 可能因为信号过度处理而失去一定的信息。
数字图像频域相关分析法及其应用数字图像频域相关分析法是把图像处理问题分解为频域与空间域的方法,用于分析、检测和修复图像中的特征。
它以计算机图像处理的实用性和数学技术的方式为基础,广泛应用于具有挑战性的图像处理领域,特别是提高图像质量、弥补图像缺陷和智能图像处理等方面。
频域又称为傅立叶频域,用来描述图像的空间频率特征。
相对于空间域,它具有更高的表示能力,这也是为什么人们将图像处理问题转化到频域中解决的原因,以通过少量的频率特征表达图像的空间特征的信息。
在计算机图像处理中,频域相关分析法具有应用广泛的特点,它可以提供高效的运算方法来解决许多图像处理任务,如图像增强、图像滤波和图像检测等。
一般来说,频域相关分析法可以在以下三个方面应用:(1)图像增强。
频域分析法可以有效的增强图像的对比度,以提高图像的质量,改善图像的可视性。
它可以有效的提取噪声,使原始图像变得更加清晰,以满足实际的观看需求。
(2)图像滤波。
频域分析法可以有效的滤除图像中的噪声,减少图像中不必要的细节,从而获得更清晰的图像。
它可以有效的滤除图像中的高频成分,使图像柔和,提高图像的可视性。
(3)图像检测。
频域分析法可以使用空间或频率特征来检测图像中的特定物体,如缺陷检测和目标检测等。
它可以有效的检测并标记图像中的特定特征,以及提取和比较特定的计算机模式,如边缘检测、轮廓检测、纹理检测和色彩检测等。
此外,频域相关分析法可以用于智能图像处理,如图像转换、图像分割等,可以有效的提取图像的特征,完成识别和跟踪任务。
因此,频域相关分析法广泛应用于计算机图像处理,它可以用于图像增强、图像滤波和图像检测等,也可以用于智能图像处理,如图像识别和跟踪等,起到提高图像质量、弥补缺陷和智能图像处理等作用,为计算机图像处理的发展做出了重要贡献。
实验三:用FFT对信号作频谱分析10.3.1实验指导1.实验目的学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便正确应用FFT。
2.实验原理用FFT对信号作频谱分析是学习数字信号处理的重要内容。
经常需要进行谱分析的信号是模拟信号和时域离散信号。
对信号进行谱分析的重要问题是频谱分辨率D和分析误差。
频谱分辨率直接和FFT的变换区间N有关,因为FFT能够实现的频率分辨率是2 /N,因此要求2 /N D。
可以根据此式选择FFT的变换区间N。
误差主要来自于用FFT作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N较大时离散谱的包络才能逼近于连续谱,因此N要适当选择大一些。
周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT,得到的离散谱才能代表周期信号的频谱。
如果不知道信号周期,可以尽量选择信号的观察时间长一些。
对模拟信号进行谱分析时,首先要按照采样定理将其变成时域离散信号。
如果是模拟周期信号,也应该选取整数倍周期的长度,经过采样后形成周期序列,按照周期序列的谱分析进行。
3•实验步骤及内容(1)对以下序列进行谱分析。
X1 (n) RHn)n 1, 0 n 3X2 (n) 8 n, 4 n 70 ,其它n4 n, 0 n 3X3( n) n 3, 4 n 70, 其它n选择FFT的变换区间N为8和16两种情况进行频谱分析。
分别打印其幅频特性曲线。
并进行对比、分析和讨论。
(2)对以下周期序列进行谱分析。
x4(n) cos—n44x5(n) cos( n/4) cos( n/8)选择FFT的变换区间N为8和16两种情况分别对以上序列进行频谱分析。
分别打印其幅频特性曲线。
并进行对比、分析和讨论。
(3)对模拟周期信号进行谱分析x6(t) cos8 t cos16 t cos20 t选择采样频率F s 64Hz ,变换区间N=16,32,64 三种情况进行谱分析。
实验七医学图像频域滤波与图像复原实验目的:1.熟悉医学图像离散傅里叶变化的原理和方法;2.掌握医学图像频域滤波的原理;3.掌握使用Matlab中的函数实现医学图像进行频域滤波的方法;4.掌握使用Matlab中的图像退化与复原的方法;实验内容:一、医学图像频域滤波方法与实现使用imnoise给图像BMRI1_24bit.bmp添加概率为0.2的椒盐噪声,对原图像和加噪声后的图像进行傅氏变换并显示变换后的移中频谱图,然后分别使用Butterworth低、高通滤波器对噪声图像进行低通和高通滤波,显示D0为5,10,20,40时的滤波效果图,并说明存两种滤波效果中所存在的差异及原因。
答:>> f=imread('BMRI1_24bit.bmp');>> f=rgb2gray(f);>> g=imnoise(f,'salt & pepper',0.2);>> f=double(f);>> g=double(g);>> F1=fft2(f);>> F2=fft2(g);>> FC1=fftshift(F1);>> FC2=fftshift(F2);>> f=ifft2(F1);>> g=ifft2(F2);>> imshow(uint8(f));title('逆变换后原图像');>> figure,imshow(uint8(g));title('逆变换后的椒盐噪声原图像');>> figure,imshow(F1);title('原图像的傅氏变换');>> figure,imshow(F2);title('椒盐噪声原图像的傅氏变换');>> figure,imshow(log(1+abs(FC1)),[]);title('原图像的移中频谱图');>> figure,imshow(log(1+abs(FC2)),[]);title('椒盐噪声原图像的移中频谱图');Butterworth低通滤波器Butterworthd.mfunction Butterworthd(I)I=rgb2gray(I);[M,N]=size(I);m=fix(M/2);n=fix(N/2);%形容图像的中心点nn=3;%三阶prompt={'Iuput Filter Cutoff(d0):'}; defans={'5'};i=inputdlg(prompt,'input',1,defans);d0=str2num(i{1});% d0=5;% for k=1:4F=fft2(I);FC=fftshift(F);for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2);h=1/(1+(d/d0)^(2*nn));FC(i,j)=h*FC(i,j);endendF=ifftshift(FC);I=ifft2(F);I=uint8(real(I));%real提取它的实部figure,imshow(I);title(['低通d0=',num2str(d0)]);% d0=d0*2;% end>> f=imread('BMRI1_24bit.bmp');>> g=imnoise(f,'salt & pepper',0.2);>> Butterworthd(g);Butterworth高通滤波器Butterworthg.mfunction Butterworthg(I)I=rgb2gray(I);[M,N]=size(I);m=fix(M/2);n=fix(N/2);%形容图像的中心点nn=3;%三阶prompt={'Iuput Filter Cutoff(d0):'};defans={'5'};i=inputdlg(prompt,'input',1,defans);d0=str2num(i{1});% d0=5;%for k=1:4F=fft2(I);FC=fftshift(F);for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2);h=1/(1+(d0/d)^(2*nn));FC(i,j)=h*FC(i,j);endendF=ifftshift(FC);I=ifft2(F);I=uint8(real(I));%real提取它的实部figure,imshow(I);title(['高通d0=',num2str(d0)]);%d0=d0*2;%end>> f=imread('BMRI1_24bit.bmp');>> g=imnoise(f,'salt & pepper',0.2); >> Butterworthg(g);图像从空间域变换到频率域后,其低频分量对应图像中灰度值变化比较缓慢的区域,高频分量则表征图像中物体的边缘和随机噪声等信息。
数字图像处理实验实验总学时:10学时实验目的:本实验的目的是通过实验进一步理解和掌握数字图像处理原理和方法。
通过分析、实现现有的图像处理算法,学习和掌握常用的图像处理技术。
实验内容:数字图像处理的实验内容主要有三个方面:(1) 对图像灰度作某种变换,增强其中的有用信息,抑制无用信息,使图像的视在质量提高,以便于人眼观察、理解或用计算机对其作进一步的处理。
(2) 用某种特殊手段提取、描述和分析图像中所包含的某些特征和特殊的信息,主要的目的是便于计算机对图像作进一步的分析和理解,经常作为模式识别和计算机视觉的预处理。
这些特征包括很多方面,例如,图像的频域特性、灰度特征、边界特征等。
(3) 图像的变换,以便于图像的频域处理。
实验一图像的点处理实验内容及实验原理:1、灰度的线性变换灰度的线性变换就是将图像中所有的点的灰度按照线性灰度变换函数进行变换。
该线性灰度变换函数是一个一维线性函数:灰度变换方程为:其中参数为线性函数的斜率,函数的在y轴的截距,表示输入图像的灰度,表示输出图像的灰度。
要求:输入一幅图像,根据输入的斜率和截距进行线性变换,并显示。
2、灰度拉伸灰度拉伸和灰度线性变换相似。
不同之处在于它是分段线性变换。
表达如下:其中,(x1,y1)和(x2,y2)是分段函数的转折点。
要求:输入一幅图像,根据选择的转折点,进行灰度拉伸,显示变换后的图像。
3、灰度直方图灰度直方图是灰度值的函数,描述的是图像中具有该灰度值的像素的个数,其横坐标表示像素的灰度级别,纵坐标表示该灰度出现的频率(象素的个数)。
要求:输入一幅图像,显示它的灰度直方图,可以根据输入的参数(上限、下限)显示特定范围的灰度直方图。
4、直方图均衡:要求1 显示一幅图像pout.bmp的直方图;2 用直方图均衡对图像pout.bmp进行增强;3 显示增强后的图像。
实验二:数字图像的平滑实验内容及实验原理:1.用均值滤波器(即邻域平均法)去除图像中的噪声;2.用中值滤波器去除图像中的噪声3. 比较两种方法的处理结果 实验步骤:用原始图象lena.bmp 或cameraman.bmp 加产生的3%椒盐噪声图象合成一幅有噪声的图象并显示;1. 用均值滤波器去除图像中的噪声(选3x3窗口);2. f (x 0,y 0)=Med {f (x,y )∨x ∈[x 0−N,x 0+N ],y ∈[y 0−N,y 0+N ]}用中值滤波器去除图像中的噪声(选3x3窗口做中值滤波);3. 将两种处理方法的结果与原图比较,注意两种处理方法对边缘的影响。
实验报告实验课程:光电图像处理姓名:学号:实验地点:信软楼309指导老师:实验时间:2016年 4 月 7日一.实验名称:(实验四)数字图像DFT及频域滤波二.实验目的1. 了解数字图像各种正交变换的概念、原理和用途。
2. 熟练掌握数字图像的 DFT/DCT 的原理、方法和实现流程,熟悉两种变换的性质,并能对数字图像 DFT 及 DCT 的结果进行必要解释。
3.熟悉和掌握利用 MATLAB 工具进行数字图像 FFT 及 DCT 的基本步骤、MATLAB函数使用及具体变换的处理流程,并能根据需要进行必要的频谱分析和可视化显示。
4. 熟悉利用空域滤波器构建对应的频域滤波器的方法和关键步骤。
5. 熟悉和掌握几种典型的频域低通滤波器及高通滤波器的原理、特性和作用。
6. 搞清空域图像处理与频域图像处理的异同,包括处理流程、各自的优势等。
掌握频域滤波的基本原理和基本流程,并能编写出相应的程序代码。
三.实验原理1.模型图像的FFT 实验:原理:傅里叶变换提供了另外一个角度来观察图像,可以将图像从灰度分布转化为频率分布来观察图像的特征。
FFT主要是应用公式:进行空间域与频率域的相互转换.程序流程图:2.实际图像的FFT 实验:原理:傅里叶变换提供了另外一个角度来观察图像,可以将图像从灰度分布转化为频率分布来观察图像的特征。
其中对于频谱反中心化的处理是通过I=fftshift(I)来实现的,FFT主要是应用公式:进行空域与频域的转换.程序流程图:3.数字图像的频域滤波处理:原理:图像的频域表征了图像中灰度变化剧烈程度的指标,是灰度在平面空间上的梯度。
图像的边缘部分是突变部分,变化较快,因此反映在频域上是高频分量;图像的大部分噪声是高频部分;而图像中大部分平缓的灰度变化部分则为低频分量,再通过构建的高通与低通滤波器与FFT变换后的频谱函数乘积的滤波处理,显示出处理后的图像.程序流程图:(1)(2)四.实验步骤1.模型图像的FFT 实验:(1)利用 MATLAB 程序自行生成一幅二值图像,分别对其分别进行离散傅立叶变换(DFT)计算;(2)对变换结果做频谱中心化处理,并分别显示出其2D频谱图以及对应的3D频谱图;(3)对以上两幅原始图像 FFT 后的频谱图进行分析,可以得出什么样的结论或验证DFT 的什么性质。
数字图像处理实验报告(五个实验全)实验⼀ Matlab图像⼯具的使⽤1、读图I=imread('lena.jpg');imshow(I);2、读⼊⼀幅RGB图像,变换为灰度图像和⼆值图像,并在同⼀个窗⼝内分成三个⼦窗⼝来分别显⽰RGB图像和灰度图像。
a=imread('lena.jpg')i = rgb2gray(a)I = im2bw(a,0.5)subplot(3,1,1);imshow(a);subplot(3,1,2);imshow(i);subplot(3,1,3);imshow(I);原图像灰度图像⼆值图像实验⼆图像变换1、对⼀幅图像进⾏平移,显⽰原始图像与处理后图像,分别对其进⾏傅⾥叶变换,显⽰变换后结果,分析原图的傅⾥叶谱与平移后傅⾥叶频谱的对应关系。
s=imread('beauty.jpg');i=rgb2gray(s)i=double(i)j=fft2(i);k=fftshift(j); 原图像原图的傅⾥叶频谱l=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=circshift(s,[800 450]);b=rgb2gray(b)b=double(b) 平移后的图像平移后的傅⾥叶频谱c=fft2(b);e=fftshift(c);l=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);subplot(2,2,2);imshow(uint8(b));subplot(2,2,3);imshow(A);subplot(2,2,4);imshow(B);2、对⼀幅图像进⾏旋转,显⽰原始图像与处理后图像,分别对其进⾏傅⾥叶变换,显⽰变换后结果,分析原图的傅⾥叶谱与旋转后傅⾥叶频谱的对应关系。
姓名:朱慧娟班级:电子二班学号: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.图像频谱有哪些特点?答:频谱图,四个角对应低频成分,中央部分对应高频成分;图像亮条的平移影响频谱的分布,但当频谱搬移到中心时,图像亮条的平移后频谱图是相同的。
姓名:朱慧娟班级:电子二班学号: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,并记为a
b=imread('cameraman.tif'); %读入图像cameraman.tif,并记为b
c=imread('e:\ZHJ\blood.tif'); %读入图像blood.tif,并记为c
d=fft2(a); %对图像a进行傅里叶变换,并记为d
e=fftshift(d); %将变换后图像频谱中心从矩阵的原点移动到矩阵的中心,并记为e A=abs(e); %对e取绝对值,及得到图像a的幅度谱,并记为A
B=log(1+A); %对幅度谱A取对数,并记为B
f=fft2(b); %对图像b进行傅里叶变换,并记为f
g=fftshift(f); %将变换后图像频谱中心从矩阵的原点移动到矩阵的中心,并记为g C=abs(g); %对g取绝对值,及得到图像b的幅度谱,并记为C
D=log(1+C); %对幅度谱C取对数,并记为D
h=fft2(c); %对图像c进行傅里叶变换,并记为h
i=fftshift(h); %将变换后图像频谱中心从矩阵的原点移动到矩阵的中心,并记为i E=abs(i); %对i取绝对值,及得到图像c的幅度谱,并记为E
F=log(1+E); %对幅度谱E取对数,并记为F
figure(1); %建立图表1
subplot(2,1,1); %将图表1分成两部分,第一部分
imshow(a); %显示图像a
title('Bridge.bmp'); %给图像a加标题‘Bridge.bmp’
subplot(2,1,2); %将图表1分成两部分,第二部分
imshow(B,[]); %显示B即图像a的频谱图
title('Bridge.bmp频谱图'); %给图像B加标题‘Bridge.bmp频谱图’
figure(2); %建立图表2
subplot(2,1,1); %将图表2分成两部分,第一部分imshow(b); %显示图像b
title('cameraman.tif'); %给图像b加标题‘cameraman.tif’subplot(2,1,2); %将图表2分成两部分,第二部分
imshow(D,[]); %显示D即图像b的频谱图
title('cameraman.tif频谱图'); %给图像D加标题‘cameraman.tif频谱图’figure(3); %建立图表3
subplot(2,1,1); %将图表3分成两部分,第一部分
imshow(c); %显示图像c
title('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矩阵,即建立黑色图,并记为A
A(10:20,:)=256; %矩阵A中第十到二十行数据改为256,即在黑色图像上加上亮条纹B=circshift(A,[50, 0]); %将矩阵A行向移动50行,得到新矩阵记为B
a=fft2(A); %对矩阵A进行傅里叶变换,并记为a
b=fftshift(a); %将变换后图像频谱中心从矩阵的原点移动到矩阵的中心,并记为b M=abs(b); %对b取绝对值,及得到矩阵A的幅度谱,并记为M
N=log(1+M); %对幅度谱M取对数,并记为N
c=fft2(B); %对矩阵B进行傅里叶变换,并记为c
d=fftshift(c); %将变换后图像频谱中心从矩阵的原点移动到矩阵的中心,并记为d S=abs(d); %对d取绝对值,及得到矩阵B的幅度谱,并记为S
T=log(1+S); %对幅度谱S取对数,并记为T
figure; %建立图表
subplot(2,2,1); %将图表分成四部分,第一部分
imshow(A); %显示图像A
title('原图像'); %给所显示图像加标题‘原图像’
subplot(2,2,2); %将图表分成四部分,第二部分
imshow(B); %显示图像B
title('平移后图像'); %给所显示图像加标题‘平移后图像’
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,并记为a
b=imrotate(a,-45); %将图像a顺时针旋转45度
c=fft2(a); %对图像a进行傅里叶变换,并记为c
d=fftshift(c); %将变换后图像频谱中心从矩阵的原点移动到矩阵的中心,并记为d A=abs(d); %对d取绝对值,及得到图像a的幅度谱,并记为A
B=log(1+A); %对幅度谱A取对数,并记为B
e=fft2(b); %对图像b进行傅里叶变换,并记为e
f=fftshift(e); %将变换后图像频谱中心从矩阵的原点移动到矩阵的中心,并记为f C=abs(f); %对f取绝对值,及得到图像b的幅度谱,并记为C
D=log(1+C); %对幅度谱C取对数,并记为D
figure; %建立图表
subplot(2,2,1); %将图表分成四部分,第一部分
imshow(a); %显示图像a
title('原图像'); %给所显示图像加标题‘原图像’
subplot(2,2,2); %将图表分成四部分,第二部分
imshow(b); %显示图像b
title('旋转后图像'); %给所显示图像加标题‘旋转后图像’
subplot(2,2,3); %将图表分成四部分,第三部分
imshow(B,[]); %显示图像a的频谱图
title('原图像频谱图'); %给所显示图像加标题‘原图像频谱图’
subplot(2,2,4); %将图表分成四部分,第四部分
imshow(D,[]); %显示图像b的频谱图
title('旋转后平移后图像频谱图'); %给所显示图像加标题‘旋转后平移后图像频谱图’
3.2 实验结果
四、思考题
1.图像频谱有哪些特点?
答:频谱图,四个角对应低频成分,中央部分对应高频成分;图像亮条的平移影响频谱的分布,但当频谱搬移到中心时,图像亮条的平移后频谱图是相同的。
图像旋转,频谱也会旋转,并且角度相同。
频谱具有平移特性,可分离性。
2.图像的二维频谱在显示和处理时应注意什么?
答:运用对数形式能增加显示细节。
为了便于分析 使用fftshift函数将频谱的零频分量移至频谱的中心。
函数ifft2用于计算傅立叶反变换 理论上逆变换结果应为实数 实际ifft2输出结果有很小的虚数成分 所以需在逆变换后提取结果的实部。