matlab
小波变换
Matlab 1.
离散傅立叶变换的
Matlab
实现
Matlab
函数
fft
、
fft2
和
fftn
分别可以实现一维、二维和
N
维
DFT
算法;而函数
ifft
、
ifft2
和
ifftn
则用来计算反
DFT
。这些函数的调用格式如下:
A
=
fft(X,N,DIM)
其中,
X
表示输入图像;
N
表示采样间隔点,如果
X
小于该数值,那么
Matlab
将
会对
X
进行零填充,
否则将进行截取,
使之长度为
N
;
DIM
表示要进行离散傅立叶变换。
A
=
fft2(X,MROWS,NCOLS)
其中,
MROWS
和
NCOLS
指定对
X
进行零填充后的
X
大小。别可以实现一维、
二维和
N
维
DFT
A
=
fftn(X,SIZE)
其中,
SIZE
是一个向量,它们每一个元素都将指定
X
相应维进行零填充后的长度。
函数
ifft
、
ifft2
和
ifftn
的调用格式于对应的离散傅立叶变换函数一致。
别可以实现一维、二维和
N
维
DFT
例子:图像的二维傅立叶频谱
1.
离散傅立叶变换的
Matlab
实现
%
读入原始图像
I
=
imread('lena.bmp');
函数
fft
、
fft2
和
fftn
分
imshow(I)
%
求离散傅立叶频谱
J=fftshift(fft2(I));
figure;
别可以实现一维、二维和
N
维
DFT
imshow(log(abs(J)),[8,10])
2.
离散余弦变换的
Matlab
实现
Matlab
2.1. dct2
函数
功能:二维
DCT
变换
Matlab
格式:
B=dct2(A)
B=dct2(A,m,n)