1. 离散傅立叶变换的 Matlab实现
其中,MROWS 和 NCOLS 指定对 X 进行零填充后的 X 大小。
其中,SIZE 是一个向量,它们每一个元素都将指定 X 相应维进行零填充后的长度。
例子:图像的二维傅立叶频谱
% 读入原始图像
I=imread('lena.bmp');
imshow(I)
% 求离散傅立叶频谱
J=fftshift(fft2(I));
figure;
imshow(log(abs(J)),[8,10])
2. 离散余弦变换的 Matlab 实现
2.1. dct2 函数
功能:二维 DCT 变换
格式:B=dct2(A)
说明:B=dct2(A) 计算 A 的 DCT 变换 B ,A 与 B 的大小相同;B=dct2(A,m,n) 和 B=dct2(A,[m,n]) 通过对 A 补 0 或剪裁,使 B 的大小为 m×n。
2.2. dict2 函数
功能:DCT 反变换
格式:B=idct2(A)
说明:B=idct2(A) 计算 A 的 DCT 反变换 B ,A 与 B 的大小相同;B=idct2(A,m,n) 和 B=idct2(A,[m,n]) 通过对 A 补 0 或剪裁,使 B 的大小为 m×n。
2.3. dctmtx函数
功能:计算 DCT 变换矩阵
格式:D=dctmtx(n)
说明:D=dctmtx(n) 返回一个 n×n 的 DCT 变换矩阵,输出矩阵 D 为 double 类型。
3. 图像小波变换的 Matlab 实现
3.1 一维小波变换的 Matlab 实现
(1) dwt 函数
功能:一维离散小波变换
格式:[cA,cD]=dwt(X,'wname')
说明:[cA,cD]=dwt(X,'wname') 使用指定的小波基函数 'wname' 对信号X 进行分解,cA、cD 分别为近似分量和细节分量;[cA,cD]=dwt(X,Lo_D,Hi_D) 使用指定的滤波器组 Lo_D、Hi_D 对信号进行分解。
(2) idwt 函数
功能:一维离散小波反变换
格式:X=idwt(cA,cD,'wname')
说明:X=idwt(cA,cD,'wname') 由近似分量 cA 和细节分量 cD 经小波反变换重构原始信号 X 。
3.2 二维小波变换的 Matlab 实现
-------------------------------------------------
---------------------------------------------------
-------------------------------------------------------------
(1) wcodemat 函数
功能:对数据矩阵进行伪彩色编码
格式:Y=wcodemat(X,NB,OPT,ABSOL)
说明:Y=wcodemat(X,NB,OPT,ABSOL) 返回数据矩阵 X 的编码矩阵 Y ;NB 伪编码的最大值,即编码范围为 0~NB,缺省值 NB=16;
(2) dwt2 函数
功能:二维离散小波变换
格式:[cA,cH,cV,cD]=dwt2(X,'wname')
说明:[cA,cH,cV,cD]=dwt2(X,'wname')使用指定的小波基函数 'wname' 对二维信号 X 进行二维离散小波变幻;cA,cH,cV,cD 分别为近似分量、水平细节分量、垂直细节分量和对角细节分量;[cA,cH,cV,cD]=dwt2(X,Lo_D,Hi_D) 使用指定的分解低通和高通滤波器 Lo_D 和 Hi_D 分解信号 X 。
(3) wavedec2 函数
功能:二维信号的多层小波分解
格式:[C,S]=wavedec2(X,N,'wname')
说明:[C,S]=wavedec2(X,N,'wname') 使用小波基函数 'wname' 对二维信号 X 进行 N 层分解;[C,S]=wavedec2(X,N,Lo_D,Hi_D) 使用指定的分解低通和高通滤波器 Lo_D 和 Hi_D 分解信号 X 。
(4) idwt2 函数
功能:二维离散小波反变换
格式:X=idwt2(cA,cH,cV,cD,'wname')
说明:X=idwt2(cA,cH,cV,cD,'wname') 由信号小波分解的近似信号 cA 和细节信号 cH、cH、cV、cD 经小波反变换重构原信号 X ;X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R) 使用指定的重构低通和高通滤波器 Lo_R 和 Hi_R 重构原信号 X ;X=idwt2(cA,cH,cV,cD,'wname',S) 和 X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R,S) 返回中心附近的 S 个数据点。
(5) waverec2 函数
说明:二维信号的多层小波重构
格式:X=waverec2(C,S,'wname')
说明:X=waverec2(C,S,'wname') 由多层二维小波分解的结果 C、S 重构原始信号 X ,'wname' 为使用的小波基函数;X=waverec2(C,S,Lo_R,Hi_R) 使用重构低通和高通滤波器 Lo_R 和 Hi_R 重构原信号。
Allnodes
appcoef
appcoef2
bestlevt
besttree
* biorfilt
biorwavf
* centfrq
cgauwavf
cmorwavf
cwt
dbaux
dbwavf
ddencmp
depo2ind
detcoef
detcoef2
disp
drawtree
dtree
dwt
dwt2
dwtmode
* dyaddown
* dyadup
entrupd
fbspwavf
gauswavf
get
idwt
idwt2
ind2depo
* intwave
isnode
istnode
iswt
iswt2
leaves
mexihat
meyer
meyeraux
morlet
nodease
nodedesc
nodejoin
nodepar
nodesplt
noleaves
ntnode
ntree
* orthfilt
plot
* qmf
rbiowavf
read
readtree
* scal2frq
set
shanwavf
swt
swt2
symaux
symwavf
thselect
thodes
treedpth
treeord
upcoef
upcoef2
upwlev
upwlev2
wavedec
wavedec2
wavedemo
* wavefun
* wavefun2
wavemenu
* wavemngr
waverec
waverec2
wbmpen
wcodemat
wdcbm
wdcbm2
wden
wdencmp
wentropy
wextend
* wfilters
wkeep
* wmaxlev
wnoise
wnoisest
wp2wtree
wpcoef
wpcutree
wpdec
wpdec2
wpdencmp
wpfun
wprcoef
wprec
wprec2
wpsplt
wpthcoef
wptree
wpviewcf
wrcoef
wrcoef2
wrev
write
wtbo
wthcoef
wthcoef2
wthresh
wthrmngr
wtreemgr