任意周期波形:可分解为正弦波的加权和。
非周期函数:可用正弦和/或余弦乘以加权函数的积分表示用傅立叶级数或变换表示的函数特征可以通过傅立叶反变换重建,不丢失任何信息。
傅里叶变换:越靠近中心低频,越远离中心高频。用高频或者低频进行滤波处理。
离散余弦变换:图片压缩处理。
1.傅里叶变换
傅里叶变换是一种将信号(包括图像)从时域转换到频域的方法。它可以将一个时域上的连续信号或数字信号分解成不同频率的正弦和余弦波的叠加,在频域上呈现出信号的频率、幅值等特性。傅里叶变换在数字信号处理和图像处理中有着广泛的应用,可以用来分析和处理不同领域的信号。
在二维图像处理中,傅里叶变换可以将一副图像从空间域转换到频率域。在频率域中,每个频率对应一个振幅和相位,可以通过加减振幅和相位来重建原始图像。因此,通过傅里叶变换可以实现很多图像处理操作,例如图像滤波、压缩、边缘检测和模式识别等。
傅里叶变换的基本思想是将一个信号表示为许多不同频率的正弦和余弦函数的叠加。如果一个信号是纯正弦波,则傅里叶变换后只有一个频率非零。而对于一个复杂的信号,傅里叶变换可以将其分解成若干个频率的叠加。傅里叶变换的数学表达式可以用积分来表示,通常使用快速傅里叶变换(FFT)算法进行计算。
在图像处理中,经常使用二维离散傅里叶变换(DFT)将一个图像从空间域转换到频率域。在频率域中,每个像素值表示一个振幅和相位,可以通过加减振幅和相位来重建原始图像。同时,在频率域中对信号进行滤波操作可以实现图像去噪、锐化、模糊及边缘检测等操作。
close all; %关闭当前所有图形窗口
clear all; %清空工作空间变量
clc; %清屏
I=imread('lena.bmp');
I=rgb2gray(I);
K1=fft2(I); %傅里叶变换
K2=fftshift(K1); %平移
K3=ifft2(K1);
L1=abs(K1/256);
L2=abs(K2/256);
figure;
subplot(221),imshow(I);
subplot(222),imshow(uint8(L1)),title('平移前傅里叶变换');
subplot(223),imshow(uint8(L2)),title('平移后傅里叶变换');
subplot(224),imshow(uint8(K3)),title('反傅里叶变换');
2.离散余弦变换
离散余弦变换(Discrete Cosine Transform,DCT)是一种将图像从空间域转换到频率域的方法,类似于傅里叶变换。它将一个二维的离散信号分解成一组离散余弦基函数的加权和,得到信号的频率分量,可以用于图像压缩、特征提取等方面。
与傅里叶变换不同的是,DCT只使用实数运算,因此计算速度较快。在图像处理中,DCT被广泛应用于JPEG图像压缩标准中,其压缩效果比傅里叶变换更好。
close all; %关闭当前所有图形窗口
clear all; %清空工作空间变量
clc; %清屏
I=imread('lena.bmp');
I=rgb2gray(I);
I=im2double(I);
J=dct2(I); %离散余弦变换
J(abs(J)<0.1)=0; %绝对值小于0.1的系数设置为0
K=idct2(J); %离散余弦反变换
figure;
subplot(131),imshow(I);
subplot(132),imshow(J),title('离散余弦变换');
subplot(133),imshow(K),title('离散余弦反变换');