实验2 图像的傅立叶变换
- 格式:doc
- 大小:44.50 KB
- 文档页数:4
数字信号处理实验报告实验二应用快速傅立叶变换对信号进行频谱分析2011年12月7日一、实验目的1、通过本实验,进一步加深对DFT 算法原理合基本性质的理解,熟悉FFT 算法 原理和FFT 子程序的应用。
2、掌握应用FFT 对信号进行频谱分析的方法。
3、通过本实验进一步掌握频域采样定理。
4、了解应用FFT 进行信号频谱分析过程中可能出现的问题,以便在实际中正确应用FFT 。
二、实验原理与方法1、一个连续时间信号)(t x a 的频谱可以用它的傅立叶变换表示()()j t a a X j x t e dt +∞-Ω-∞Ω=⎰2、对信号进行理想采样,得到采样序列()()a x n x nT =3、以T 为采样周期,对)(n x 进行Z 变换()()n X z x n z +∞--∞=∑4、当ωj ez =时,得到序列傅立叶变换SFT()()j j n X e x n e ωω+∞--∞=∑5、ω为数字角频率sT F ωΩ=Ω=6、已经知道:12()[()]j a m X e X j T T Tωωπ+∞-∞=-∑ ( 2-6 )7、序列的频谱是原模拟信号的周期延拓,即可以通过分析序列的频谱,得到相应连续信号的频谱。
(信号为有限带宽,采样满足Nyquist 定理)8、无线长序列可以用有限长序列来逼近,对于有限长序列可以使用离散傅立叶变换(DFT )。
可以很好的反映序列的频域特性,且易于快速算法在计算机上实现。
当序列()x n 的长度为N 时,它的离散傅里叶变换为:1()[()]()N knN n X k DFT x n x n W-===∑ 其中2jNN W eπ-=,它的反变换定义为:101()[()]()N knN k x n IDFT X k X k W N --===∑比较Z 变换式 ( 2-3 ) 和DFT 式 ( 2-7 ),令kN z W -=则1()()[()]|kNN nkN N Z W X z x n W DFT x n ---====∑ 因此有()()|kNz W X k X z -==k N W -是Z 平面单位圆上幅角为2kNπω=的点,也即是将单位圆N 等分后的第k 点。
实验二、图像的频域处理一、实验类型:综合性实验二、实验目的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.对图像进行平移,掌握图像的傅里叶频谱和平移后的傅里叶频谱的对应关系;
2.对图像进行旋转,掌握图像的傅里叶频谱和旋转后的傅里叶频谱的对应关系。
2、实验原理
如果F(u,v)的频率变量u,v各移动了u0,v0距离,f(x,y)的变量x,y各移动了x0,y0距离,则傅里叶变换如下所示
因此傅里叶变换的平移性质表明函数与一个指数项相乘等于将变换后的空域中心移到新的位置,平移不改变频谱的幅值。
傅里叶旋转可以通过下面变换得到:
对f(x,y)旋转一个角度对应于将其傅里叶变换F(u,v)也旋转相同的角度。
3、实验方法和程序
1. 选取一副图像,进行离散傅里叶变换,将其中心移到零点,得到
其离散傅里叶变换。
参考例4.10
2. 选取一副图像,进行离散余弦变换,并对其进行离散余弦反变
换。
参考例4.13
3. 选取一副图像,采用butterworth高通滤波器对图像进行高通滤
波。
参考例5.7
4、实验结果与分析
Matlab代码以及结果图
5、思考题
1. 将图像分别进行X轴与Y轴上的平移,所得傅里叶频谱与原图像
的傅里叶频谱有什么变换?。
图像变换图像变换是图像预处理中常用技术手段,在图像增强、复原、编码里有着非常广泛的应用。
实验目的:1、学习傅立叶变换2、学习离散余弦变换实验时间:2-4个小时实验结果:写成电子文档,保存在服务器上实验内容:1.傅立叶变换熟悉其概念和原理,实现对一幅灰度图像的快速傅立叶变换,并求其变换后的系数分布.2.离散余弦变换熟悉其概念和原理,实现对一幅灰度和彩色图像作的离散余弦变换,选择适当的DCT系数阈值对其进行DCT反变换.1、傅立叶变换步骤如下:clcI=imread('ibm.bmp');subplot(2,3,1)imshow(I);title('原图');subplot(2,3,2)imhist(I);colorbar;title('原图直方图');J=fft2(I);subplot(2,3,3)imshow(J);title('fft变换图');%figure;K=fftshift(J);subplot(2,3,4)imshow(K);title('原点移至频谱中心');%figure;subplot(2,3,5)imshow(log(abs(K)),[]),colormap(jet(64)),colorbar;title('彩色频谱');结果如下:2.离散余弦变换熟悉其概念和原理,实现对一幅灰度和彩色图像作的离散余弦变换,选择适当的DCT 系数阈值对其进行DCT反变换.步骤如下:clcload imdemos;i=imread('tank.jpg');subplot(2,2,1);imshow(i);title('原始图象');j=rgb2gray(i);subplot(2,2,2);imshow(j);title('黑白化后的图像');% 图象的DCT变换b=dct2(j);subplot(2,2,3)imshow(log(abs(b)),[]),colormap(jet(64)),colorbar;title('DCT变换结果');%figure;b(abs(b)<10)=0;% idctc=idct2(b)/255;subplot(2,2,4)imshow(c);title('IDCT变换结果');结果如下:。
图像的傅里叶变换成绩实验论文题目:图像的傅里叶变换学生姓名:代朋车学生学号:1114020207系别:电气信息工程学院专业:电子信息工程年级:2011级任课教师:沈晓波电气信息工程学院制2013年12月图像的傅里叶变换学生:代朋车任课教师:沈晓波电气信息工程学院 电子信息工程1实验题目图像的傅里叶变换2实验对象声音信号(自己的声音)/图像信号(自选)/自定义时域信号3 实验任务(1) 自行录制一段自己的语音或下载一段音乐,完成FFT 运算,具体参数自行规定基本要求:显示原语音信号图像、FFT 频谱,要求以上图像显示在同一个fig ,最终还原语音信号。
(2) 自行下载一幅图,格式不限,完成FFT 运算,具体参数可自行设定。
基本要求:显示原点在中心位置,画出幅度谱、相位谱能量或功率谱、虚部、实部,最终还原图像信号,要求以上图像显示在同一个fig 。
4 实验原理4.1理论基础连续傅里叶变换的定义:函数f(x)的一维连续傅里叶变换由下式定义: 2()()j ux F u f x e dx π∞--∞=⎰式中, 21J =-。
F(u)的傅里叶反变换定义为:2()()j ux f x F u e du π∞-∞==⎰ 这里f(x)是实函数,它的傅里叶变换F(u)通常是复函数。
F(u)的实部、虚部、振幅、能量和相位分别表示如下:所示。
F(u)傅里叶频谱、相位谱和能量谱分别表示如下;F(u)=R(u)+jI(u)傅里叶频谱 )()(R |F |22u I u u +=)(相位谱 )(/)(arctan u R u I u =)(φ能量谱 )()(|)(|222u I u R u F u +==E )( 同连续函数的傅里叶变换一样,离散函数的傅里叶变换也可推广到二维的情形,其二维离散傅里叶变换定义为: F(u,v)=∑∑==+1-N 0x 1-N 0y vy )/N (ux j2y)eF(x ,1πN式中,u=0,1,2,…,N-1, v=0,1,2,…,N-1。
图像的傅里叶变换
图像的傅里叶变换是将图像的像素用时间或频率的形式表示的一种变换方式。
一般来说,图像的每个像素点都可以用其周围的邻居来描述,而傅里叶变换可以对图像中所有的邻居进行变换,有效地减少图像的深度和宽度,使图像更轻巧。
傅里叶变换的一个重要用途便是图像分析和处理,它可以将复杂的信息减缩到更小的空间中,从而使图像变得更容易理解。
比如,使用傅里叶变换可以有效地抽取图像中最重要的特征,例如颜色、对比度、形状等。
此外,傅里叶变换还可以用于图像压缩,通过傅里叶变换可以把复杂的信息转换为高频信号和低频信号,通过减少低频信号可以压缩图像的体积,但这样做不会影响图像的整体清晰度,而是减少了细节的某些程度上。
总而言之,傅里叶变换是一种对图像进行分析和处理的非常有效的方法,可以有效地提取图像中最重要的特征,可以大大减少图像的深度和宽度,并且可以用于图像压缩以及图像处理等任务中,从而大大改善图像的处理效果。
实验一、数字图像获取实验二、图像的傅立叶变换I=imread(‘原图像名.gif’); %读入原图像文件imshow(I); %显示原图像fftI=fft2(I); %二维离散傅立叶变换sfftI=fftshift(fftI); %直流分量移到频谱中心RR=real(sfftI); %取傅立叶变换的实部II=imag(sfftI); %取傅立叶变换的虚部A=sqrt(RR.^2+II.^2);%计算频谱幅值a=min(min(A));b=max(max(A));B=(A-a)/(b-a)*225; %归一化figure; %设定窗口imshow(B); %显示原图像的频谱实验三、图像增强a=imread('1.jpg'); % 读入原图像I=rgb2gray(a);subplot(2,3,1);Imshow(a); %显示原图像Title('原图像'); %给原图像加标题名subplot(2,3,2);Imshow(I); %显示灰度化图像Title('灰度图'); %给原图像加标题名Subplot(2,3,3);Imhist(I,64); %将原图像直方图显示为64级灰度Title('灰度图直方图') ; %给原图像直方图加标题名J=histeq(I); %对原图像进行直方图均衡化处理subplot(2,3,5);imshow(J); %显示直方图均衡化后的图像Title('直方图均衡化后的图像') ; %给直方图均衡化后的图像加标题名Subplot(2,3,6);Imhist(J,64) ; %将均衡化后图像的直方图显示为64级灰度Title('均衡变换后的直方图') ; %给均衡化后图像直方图加标题名实验四、图像压缩(1)利用DCT变换进行图像压缩RGB = imread('1.jpg');I = rgb2gray(RGB);J = dct2(I); % 离散余弦变换(DCT)图像压缩imshow(log(abs(J)),[]), colormap(jet(64)), colorbarJ(abs(J) < 10) = 0;K = idct2(J);figure,imshow(I)figure,imshow(K,[0 255])2)利用离散余弦变换进行JPEG图像压缩IMG = imread('1.JPG'); %读入图像I = rgb2gray(IMG); %转换成灰度图像N=8; %子块的大小,可为4,8,16I=im2double(I); %转换为双精度型T =dctmtx(N); %产生二维DCT变换矩阵B=blkproc(I,[N,N],'P1*x*P2',T,T'); %二值掩模,用来压缩DCT系数,只留下DCT系数中左上角的10个mask=[1 1 1 1 0 0 0 01 1 1 0 0 0 0 01 1 0 0 0 0 0 01 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0];B2=blkproc(B,[N,N],'P1.*x',mask); %只保留DCT变换的10个系数I2= blkproc(B2,[N,N],'P1*x*P2',T',T); %重构图像subplot(1,2,1);imshow(I);title('原始图像');subplot(1,2,2);imshow(I2);title('压缩重构后的图像');3)利用行程编码(RLE)进行图像压缩I=checkerboard(10,6);imshow(I)[m n]=size(I);J=[];for i=1:mvalue=I(i,1);num=1;for j=2:nif I(i,j)==valuenum=num+1;elseJ=[J num value];num=1;value=I(i,j);endend% I=[J num value 0 0]; %添加的行判断位0 0enddisp('原图像大小:')whos('I');disp('压缩图像大小:')whos('J');disp('图像的压缩比:')disp(m*n/length(J))实验五、图像融合调入两幅数字图像,并进行三种方法的图像融合;图像融合的MA TLAB程序如下:1)调入、显示两幅图像的程序语句load tartan;X1=X;map1=map;load sinsin;X2=X;map2=map;Subplot(1,2,1);image(X1),colormap(map1);Title('图像map1');Subplot(1,2,2);image(X2),colormap(map2);Title('图像map2');2)两幅图像直接融合的程序语句figure,subplot(1,3,1);image((X1+X2)/2),colormap(map2);title('两图像直接相加融合');3)两幅图像傅立叶变换融合的程序语句F1=fft2(X1);F2=fft2(X2);X=abs(ifft2(F1+F2)/2);Subplot(1,3,2);image(X),colormap(map2);Title('两幅图像傅立叶变换融合'); 4)两幅图像小波变换融合的程序语句[C1,L1]=wavedec2(X1,2,'sym4');[C2,L2]=wavedec2(X2,2,'sym4');C=C1+C2;X=waverec2(C,L1,'sym4');Subplot(1,3,3);image(X/2),colormap(map2);Title('两图像小波变换融合') ;。
实验二图像变换(DFT、DCT变换)一、实验目的1、熟练掌握DFT、DCT变换的MA TLAB实现;2、利用MATLAB完成(DFT、DCT)变换,求出图像的频谱;二、实验原理及内容二维傅立叶变换的matlab实现:fft: 一维DFT变换ifft:一维DFT反变换fft2: 二维DFT变换ifft2: 二维DFT反变换fftn: N维DFT变换fftn: N维DFT反变换fftshift: 将经过fft、fft2和ffn变换后的频谱中心(0频)移到矩阵或向量的2、离散余弦变换(DCT)离散余弦变换的matlab实现:dct2:二维DCT变换idct2:二维DCT反变换内容1、编程求给定图像lena.bmp的傅立叶频谱;2、将给定图像lena.bmp旋转45度,求其傅立叶频谱;3、编程求给定图像lena.bmp的DCT频谱;4、利用DCT反变换求原始图像;5、利用DCT实现对图像lena.bmp的压缩,压缩率为80%。
三、实验程序、结果及框图1、DFT变换及DCT变换实验框图实验程序(1)clear all; %清空所有变量I=imread('lena.jpg'); %读入图像J=fftshift(fft2(I)); %对原图进行DFT变换,并将其中心移到零点J2=imrotate(I,45); %将图像旋转45度J3=fftshift(fft2(J2)); %对旋转后图像求DFT频谱subplot(2,2,1);imshow(I);xlabel('原图') %显示原图subplot(2,2,2);imshow(log(abs(J)),[8 10]);xlabel('原图DFT变换频谱') %显示原图频谱subplot(2,2,3);imshow(J2);xlabel('旋转45度图像') %显示旋转后图像subplot(2,2,4);imshow(log(abs(J3)),[8 10]);xlabel('旋转图像DFT频谱') %显示旋转图像频谱(2)J4=dct2(I); %对原图进行DCT变换J5=idct2(J4)/255; %进行DCT逆变换J6=uint8(round(J5*255)); %将double转换为uint8型I2=I-J6; %求差值figure;subplot(2,2,1);imshow(I);xlabel('原图') %显示原图subplot(2,2,2);imshow(log(abs(J4)),[]);xlabel('原图DCT频谱') %显示原图DCT频谱subplot(2,2,3);imshow(J5);xlabel('DCT反变换图像') %显示DCT反变换图像subplot(2,2,4);imshow(I2);xlabel('变换前后图像差值') %显示DCT变换前后差值(1)DFT变换(2)DCT2、图像压缩实验框图实验程序clear all %清空工作空间I=imread('lena.jpg'); %读入图像I=double(I)/255; %转换成double型T=dctmtx(8); %生成一个8*8的DCT变换矩阵B=blkproc(I,[8 8],'P1*x*P2',T,T'); %进行离散余弦变换mask=[1 1 1 1 0 0 0 0 ;1 1 1 0 0 0 0 0 ;1 1 0 0 0 0 0 0 ;1 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0 ;0 0 0 0 0 0 0 0]; %压缩DCT的系数B2=blkproc(B,[8 8],'P1.*x',mask); %舍弃高频系数,达到图像压缩目的I2=blkproc(B2,[8 8],'P1*x*P2',T',T); %反余弦变换,得到压缩图像imshow(I);xlabel('原始图像') %显示原图figure,imshow(I2);xlabel('压缩后图像') %显示压缩图像四、思考题1、离散傅立叶变换、离散余弦变换有什么区别和联系?答:离散傅里叶变换简称DFT;离散余弦变换(DCT)只包含了实数部分,将主要的信息放到较少的系数上去。
图像的傅立叶变换及其应用一、设计目的和任务通过该设计,掌握二维傅立叶变换的定义和含义。
掌握傅立叶变换在滤波器频率响应和快速卷积中的应用。
二、设计内容1.加载imdemos saturn2文件,显示文件中的图像saturn2,并对其进行傅立叶变换,给出源程序及结果,并显示其幅值的结果。
2.对矩阵A=magic (3)和B=ones (3)按照快速计算卷积的方法计算两个矩阵的卷积,并用卷积函数conv2验证结果,给出源程序及结果。
三、主要MATLAB 函数1.图像的显示imread 读入图像文件 image 显示图像文件 Plot 绘制图形 2.图像的离散傅立叶变换假设),(n m f 是一个离散空间中的二维函数,则该函数的二维傅立叶变换定义为njw jwm e e n m f w w f 21),(),(21-∞∞-∞∞--∑∑=其中1w 和2w 是频域变量,单位是弧度/采样单元。
函数),(21w w f 为函数),(n m f 的频谱。
二维傅立叶反变换的定义为:21212112),(),(w dw e e w w f n m f n jw m jw w w ⎰⎰∏∏=∏∏-==因此,函数),(n m f 可以用无数个不同频率的复指数信号的和表示,在频率),(21w w 处复指数信号的幅度和相位为),(21w w f 。
MATLAB 提供的快速傅立叶变换函数1) fft2:用于计算二维快速傅立叶变换函数,其语法格式为b=fft2(I ),返回图心爱那个I 的二维傅立叶变换矩阵,输入图像I 和输出图像B大小相同;b=fft2(I,m,n),通过对图像I剪切或补零,按用户指定的点数计算二维傅立叶变m 。
换,返回矩阵B的大小为n很多MATLAB图像显示复数图像,为了观察图像傅立叶变换后的结果,应对变换后的结果求模,方法是对变换结果使用abs函数。
2)fftn:用于计算n维快速傅立叶变换,其语法格式为 b=fftn(I),计算图像的n 维傅立叶变换,输出图像B和输入图像I大小相同;b=fftn(I,size),通过对图像I剪切和补零,按size指定的点数计算n维傅立叶变换,返回矩阵B的大小为size。
数字图像处理及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 图像的傅立叶变换与一维信号的傅立叶变换变换一样,有快速算法,具体参见参考书目,有关傅立叶变换的快速算法的程序不难找到 傅立叶变换的芯片,可以实时实现傅立叶变换。
二、图像数据的傅立叶变换图像变换在图像处理和分析中起着重要的作用。
为了有效和快速地对图像进行处理和分析,常常需要将原定义在图像空间的图像以某种形式转换到另外一些空间中,并利用这些空间的特有性质方便地进行一定的加工,最后在转换回图像空间以得到所需的处理效果。
这些转换方法就是本节要介绍和讨论的图像频域变换技术。
图像变换通常是一种二维正交变换。
一般要求:①正交变换必须是可逆的;②正变换和反变换的算法不能太复杂;③在变换域中图像能量集中分布在低频率的成分上,边缘、现状信息反映在高频率成分上,以有利于图像处理。
因此正交变换广泛应用在图像增强、图像恢复、特征提取、图像压缩编码和形状分析等方面。
在此首先讨论常用的傅立叶变换。
图像的傅立叶变换将图像空间变换到频域空间,从而可利用傅立叶频谱特性进行图像处理。
傅立叶变换是一种可分离和对称变换,下面先介绍这两个基本特性,然后再给出2-D 傅立叶的变换定义和定理,以及变换实例(章毓晋,2009)。
(一)可分离和对称变换图像至少是2-D的,2-D图像的正变换(简称变换)和反变换可分别表示为:(2.22)(2.23)其中为的变换,是正向变换核;为反变换,是反向变换核。
这两个核均依赖于,而与或的值无关。
可分离变换是图像变换的一种,它的变换核是可分离的;另外,图像变换中有一类是对称变换,对称变换的核是对称的。
下面以正向变换核为例进行介绍。
首先,如果下式成立:(2.24)则称正向变换核实可分离的。
进一步,如果和的函数形式一样,则称正向变换核是对称的,此时式(2.24)可写成:(2.25)具有可分离变换核的2-D变换可分成两个步骤来计算,每个步骤使用一个1-D变换。
具体实现时可如下考虑:将式(2.24)代入式(2.22),首先沿着的每一列进行1-D变换得到:(2.26)然后沿的每一行进行1-D变换得到(2.27)如果变换核是可分离的和对称的函数时,变换可用矩阵形式表示。
以正变换为例,有(2.28)其中F是NxN图像矩阵,A是NxN对称变换矩阵,其元素为,T是输出的NxN变换结果,为了得到反变换,对式两边各乘一个反变换矩阵B(2.29)如果,则(2.30)这表明图像F可完全恢复,如果B不等于,则可由式得F的一个近似:(2.31)利用矩阵形式的变换表示的一个优点是,所得到的变换矩阵分解成刻分解成若干个具有较少非零元素的乘积,这样可减少冗余并减少操作次数。
图像傅里叶变换是一种将图像从时域转换到频域的方法。
它通过使用复数数学来表示图像中不同频率的成分。
使用这种变换可以将图像中的高频部分与低频部分分离,这对于图像处理和分析非常有用。
一般的,傅里叶变换是通过将一个函数的时域表示转换为频域表示来实现的,频域表示可以用来对图像中的频率进行分析。
这个变换的过程叫做傅里叶变换,反变换叫做逆傅里叶变换。
常用的傅里里叶变换方法有两种,一种是离散傅里叶变换(DFT),另一种是连续傅里叶变换(FFT)。
离散傅里叶变换(DFT)是将一个图像中的像素值作为输入,通过求解一个复数数组来表示每个像素对应的频率信息。
这个复数数组称为频谱。
连续傅里叶变换(FFT)是通过在离散傅里叶变换的基础上进行优化得到的,它通过使用一种称为快速傅里叶变换的算法来加快计算速度。
图像傅里叶变换的应用包括图像压缩,降噪,图像滤波,图像识别,图像增强等。
姓名:朱慧娟班级:电子二班学号: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.图像频谱有哪些特点?答:频谱图,四个角对应低频成分,中央部分对应高频成分;图像亮条的平移影响频谱的分布,但当频谱搬移到中心时,图像亮条的平移后频谱图是相同的。
实验二应用快速傅里叶变换对信号进行频谱分析引言频谱分析是一个常见的信号处理技术,它可以将一个信号分解成一系列不同频率的成分。
其中,傅里叶变换是一种常用的频谱分析方法。
在本实验中,我们将学习并应用快速傅里叶变换(FFT)算法对信号进行频谱分析。
一、理论背景快速傅里叶变换(FFT)是一种基于离散傅里叶变换(DFT)的算法,它能够快速计算出信号的频域表达。
傅里叶变换的公式为:X(k)=Σ(x(n)*e^(-j*2π*n*k/N))其中,X(k)代表频域上的第k个频率成分,x(n)代表时域上的第n个采样点,e为自然对数的底,j为虚数单位,N为采样点的总数。
快速傅里叶变换的主要思想是将信号分解成一系列长度为2的子序列,再通过迭代地应用DFT对这些子序列进行变换。
这样可以大幅度减少计算量,使得FFT算法在实际应用中具有较高的效率。
二、实验目的1.掌握快速傅里叶变换(FFT)算法的原理及实现方法。
2.学习如何使用FFT进行频谱分析,并理解频谱图的含义。
3.通过实验对比分析,了解FFT与其他频谱分析方法的差异。
三、实验步骤1.准备实验材料和仪器:一台电脑、MATLAB或其他信号分析软件。
2. 定义并生成需要分析的信号。
可以使用MATLAB中的sin、cos、randn等函数生成均匀分布或正态分布的随机信号,设置采样率和采样点数。
3.对信号进行FFT分析。
使用FFT算法对信号进行傅里叶变换,并得到频谱图。
4.对频谱图进行分析。
观察频谱图中的主要频率成分,并分析信号的频谱特征。
四、实验结果及分析1.生成信号并进行FFT分析。
通过MATLAB或其他信号分析软件,生成需要分析的信号,并进行FFT变换。
2.绘制频谱图。
根据FFT的结果,绘制出信号的频谱图。
频谱图通常以频率为横坐标,幅度为纵坐标进行绘制。
3.频谱分析。
观察频谱图,分析信号的频谱特征。
可以通过主要频率成分、频谱能量分布等参数来进行分析。
五、实验注意事项1.确保信号的采样率和采样点数足够满足信号分析的要求。
实验2 图像的傅立叶变换
一、 实验目的
1了解图像变换的意义和手段;
2熟悉傅立叶变换的基本性质;
3熟练掌握FFT 变换方法及应用;
4通过实验了解二维频谱的分布特点;
5通过本实验掌握利用MA TLAB 编程实现数字图像的傅立叶变换。
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 π∞∞
+-∞-∞=
⎰⎰
二维离散傅立叶变换为: 11
2()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利用MA TLAB软件实现数字图像傅立叶变换的程序:
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.提交实验的原始图像和结果图像。
六、思考题
1.傅里叶变换有哪些重要的性质?
2.图像的二维频谱在显示和处理时应注意什么?
七、实验图片
number.tif
参考程序:
%傅立叶变换及图象的频域处理
clc
clear;
[I,map]=imread('rice.png');
subplot(3,2,1),imshow(I,map),title('原图象');
[M N]=size(I);
F=fft2(I);%计算图象的二维傅立叶变换
fftshift(F);%用于将变换后的图象频谱中心从矩阵的原点移到矩阵的中心%低通滤波器的设计
Dcut=50;
D0=150;
D1=250;
for u=1:M
for v=1:N
D(u,v)=sqrt(u^2+v^2);
BUTTERH(u,v)=1/(1+(sqrt(2)-1)*(D(u,v)/Dcut)^2);
EXPOTH(u,v)=exp(log(1/sqrt(2))*(D(u,v)/Dcut)^2);
if D(u,v)<=200
IDEALH(u,v)=1;
else
IDEALH(u,v)=0;
end
if D(u,v)<=D0
TRAPEH(u,v)=1;
elseif D(u,v)<=D1
TRAPEH(u,v)=(D(u,v)-D1)/(D0-D1);
else
TRAPEH(u,v)=0;
end
end
end
IDEALG=IDEALH.*F; %先对图象作低通滤波
IDEALfiltered=abs(ifft2(IDEALG));%再作傅立叶逆变换
BUTTERG=BUTTERH.*F;
BUTTERfiltered=abs(ifft2(BUTTERG));
EXPOTG=EXPOTH.*F;
EXPOTfiltered=abs(ifft2(EXPOTG));
TRAPEG=TRAPEH.*F;
TRAPEfiltered=abs(ifft2(TRAPEG));
%显示不同滤波器的图象情况
subplot(3,2,2),imshow(IDEALfiltered,map),title('理想低通滤波器');
subplot(3,2,3),imshow(BUTTERfiltered,map),title('巴特沃思(Butterworth)滤波器'); subplot(3,2,4),imshow(EXPOTfiltered,map),title('指数滤波器');
subplot(3,2,5),imshow(TRAPEfiltered,map),title('梯形低通滤波器');。