变换.docx

上传人:b****7 文档编号:26502853 上传时间:2023-06-20 格式:DOCX 页数:14 大小:19.79KB
下载 相关 举报
变换.docx_第1页
第1页 / 共14页
变换.docx_第2页
第2页 / 共14页
变换.docx_第3页
第3页 / 共14页
变换.docx_第4页
第4页 / 共14页
变换.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

变换.docx

《变换.docx》由会员分享,可在线阅读,更多相关《变换.docx(14页珍藏版)》请在冰豆网上搜索。

变换.docx

变换

Matlab1.离散傅立叶变换的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

功能:

二维DCT变换Matlab

格式:

B=dct2(A)

B=dct2(A,m,n)

B=dct2(A,[m,n])函数fft、fft2和fftn分

说明:

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,m,n)别可以实现一维、二维和N维DFT

B=idct2(A,[m,n])

说明:

B=idct2(A)计算A的DCT反变换B,A与B的大小相同;B=idct2(A,m,n)和B=idct2(A,[m,n])通过对A补0或剪裁,使B的大小为m×n。

Matlab

2.3.dctmtx函数

功能:

计算DCT变换矩阵

格式:

D=dctmtx(n)

说明:

D=dctmtx(n)返回一个n×n的DCT变换矩阵,输出矩阵D为double类型。

1.离散傅立叶变换的Matlab实现

3.图像小波变换的Matlab实现函数fft、fft2和fftn分

3.1一维小波变换的Matlab实现

(1)dwt函数Matlab

功能:

一维离散小波变换

格式:

[cA,cD]=dwt(X,'wname')

[cA,cD]=dwt(X,Lo_D,Hi_D)别可以实现一维、二维和N维DFT

说明:

[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,Lo_R,Hi_R)

X=idwt(cA,cD,'wname',L)函数fft、fft2和fftn分

X=idwt(cA,cD,Lo_R,Hi_R,L)

说明:

X=idwt(cA,cD,'wname')由近似分量cA和细节分量cD经小波反变换重构原始信号X。

'wname'为所选的小波函数

X=idwt(cA,cD,Lo_R,Hi_R)用指定的重构滤波器Lo_R和Hi_R经小波反变换重构原始信号X。

X=idwt(cA,cD,'wname',L)和X=idwt(cA,cD,Lo_R,Hi_R,L)指定返回信号X中心附近的L个点。

1.离散傅立叶变换的Matlab实现

3.2二维小波变换的Matlab实现

二维小波变换的函数别可以实现一维、二维和N维DFT

-------------------------------------------------

函数名函数功能

---------------------------------------------------

dwt2二维离散小波变换

wavedec2二维信号的多层小波分解

idwt2二维离散小波反变换Matlab

waverec2二维信号的多层小波重构

wrcoef2由多层小波分解重构某一层的分解信号

upcoef2由多层小波分解重构近似分量或细节分量1.离散傅立叶变换的Matlab实现

detcoef2提取二维信号小波分解的细节分量

appcoef2提取二维信号小波分解的近似分量

upwlev2二维小波分解的单层重构1.离散傅立叶变换的Matlab实现

dwtpet2二维周期小波变换

idwtper2二维周期小波反变换

-------------------------------------------------------------函数fft、fft2和fftn分

(1)wcodemat函数

功能:

对数据矩阵进行伪彩色编码函数fft、fft2和fftn分

格式:

Y=wcodemat(X,NB,OPT,ABSOL)

Y=wcodemat(X,NB,OPT)

Y=wcodemat(X,NB)

Y=wcodemat(X)

说明:

Y=wcodemat(X,NB,OPT,ABSOL)返回数据矩阵X的编码矩阵Y;NB伪编码的最大值,即编码范围为0~NB,缺省值NB=16;

OPT指定了编码的方式(缺省值为'mat'),即:

别可以实现一维、二维和N维DFT

OPT='row',按行编码

OPT='col',按列编码

OPT='mat',按整个矩阵编码函数fft、fft2和fftn分

ABSOL是函数的控制参数(缺省值为'1'),即:

ABSOL=0时,返回编码矩阵

ABSOL=1时,返回数据矩阵的绝对值ABS(X)1.离散傅立叶变换的Matlab实现

(2)dwt2函数

功能:

二维离散小波变换

格式:

[cA,cH,cV,cD]=dwt2(X,'wname')

[cA,cH,cV,cD]=dwt2(X,Lo_D,Hi_D)

说明:

[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。

1.离散傅立叶变换的Matlab实现

(3)wavedec2函数

功能:

二维信号的多层小波分解1.离散傅立叶变换的Matlab实现

格式:

[C,S]=wavedec2(X,N,'wname')

[C,S]=wavedec2(X,N,Lo_D,Hi_D)

说明:

[C,S]=wavedec2(X,N,'wname')使用小波基函数'wname'对二维信号X进行N层分解;[C,S]=wavedec2(X,N,Lo_D,Hi_D)使用指定的分解低通和高通滤波器Lo_D和Hi_D分解信号X。

别可以实现一维、二维和N维DFT

(4)idwt2函数

功能:

二维离散小波反变换函数fft、fft2和fftn分

格式:

X=idwt2(cA,cH,cV,cD,'wname')

X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R)

X=idwt2(cA,cH,cV,cD,'wname',S)别可以实现一维、二维和N维DFT

X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R,S)

说明:

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,Lo_R,Hi_R)

说明:

X=waverec2(C,S,'wname')由多层二维小波分解的结果C、S重构原始信号X,'wname'为使用的小波基函数;X=waverec2(C,S,Lo_R,Hi_R)使用重构低通和高通滤波器Lo_R和Hi_R重构原信号。

Allnodes计算树结点函数fft、fft2和fftn分

 appcoef提取一维小波变换低频系数

 appcoef2提取二维小波分解低频系数

 bestlevt计算完整最佳小波包树别可以实现一维、二维和N维DFT

 besttree计算最佳(优)树

* biorfilt双正交样条小波滤波器组

 biorwavf双正交样条小波滤波器Matlab

* centfrq求小波中心频率

 cgauwavfComplexGaussian小波

 cmorwavfcoiflets小波滤波器1.离散傅立叶变换的Matlab实现

 cwt一维连续小波变换

 dbauxDaubechies小波滤波器计算

 dbwavfDaubechies小波滤波器dbwavf(W)W='dbN'N=1,2,3,...,50别可以实现一维、二维和N维DFT

 ddencmp获取默认值阈值(软或硬)熵标准

 depo2ind将深度-位置结点形式转化成索引结点形式

 detcoef提取一维小波变换高频系数Matlab

 detcoef2提取二维小波分解高频系数

 disp显示文本或矩阵

 drawtree画小波包分解树(GUI)别可以实现一维、二维和N维DFT

 dtree构造DTREE类

 dwt单尺度一维离散小波变换

 dwt2单尺度二维离散小波变换别可以实现一维、二维和N维DFT

 dwtmode离散小波变换拓展模式

* dyaddown二元取样

* dyadup二元插值1.离散傅立叶变换的Matlab实现

 entrupd更新小波包的熵值

 fbspwavfB样条小波

 gauswavfGaussian小波Matlab

 get获取对象属性值

 idwt单尺度一维离散小波逆变换

 idwt2单尺度二维离散小波逆变换

 ind2depo将索引结点形式转化成深度—位置结点形式

* intwave积分小波数

 isnode判断结点是否存在Matlab

 istnode判断结点是否是终结点并返回排列值

 iswt一维逆SWT(StationaryWaveletTransform)变换

 iswt2二维逆SWT变换Matlab

 leaves Determineterminalnodes

 mexihat墨西哥帽小波

 meyerMeyer小波别可以实现一维、二维和N维DFT

 meyerauxMeyer小波辅助函数

 morletMorlet小波

 nodease计算上溯结点

 nodedesc计算下溯结点(子结点)

 nodejoin重组结点

 nodepar寻找父结点别可以实现一维、二维和N维DFT

 nodesplt分割(分解)结点

 noleaves Determinenonterminalnodes

 ntnode Numberofterminalnodes函数fft、fft2和fftn分

 ntree ConstructorfortheclassNTREE

* orthfilt正交小波滤波器组

 plot绘制向量或矩阵的图形

* qmf镜像二次滤波器

 rbiowavf Reversebiorthogonalsplinewaveletfilters

 read读取二进制数据函数fft、fft2和fftn分

 readtree读取小波包分解树

* scal2frq Scaletofrequency

 set Matlab

 shanwavf Shannonwavelets

 swt一维SWT(StationaryWaveletTransform)变换

 swt2二维SWT变换

 symaux Symletwaveletfiltercomputation.

 symwavfSymlets小波滤波器

 thselect信号消噪的阈值选择

 thodes References

 treedpth求树的深度

 treeord求树结构的叉数函数fft、fft2和fftn分

 upcoef一维小波分解系数的直接重构

 upcoef2二维小波分解系数的直接重构

 upwlev单尺度一维小波分解的重构函数fft、fft2和fftn分

 upwlev2单尺度二维小波分解的重构

 wavedec单尺度一维小波分解

 wavedec2多尺度二维小波分解Matlab

 wavedemo小波工具箱函数demo

* wavefun小波函数和尺度函数

* wavefun2二维小波函数和尺度函数别可以实现一维、二维和N维DFT

 wavemenu小波工具箱函数menu图形界面调用函数

* wavemngr小波管理函数

 waverec多尺度一维小波重构1.离散傅立叶变换的Matlab实现

 waverec2多尺度二维小波重构

 wbmpen Penalizedthresholdforwavelet1-Dor2-Dde-noising

 wcodemat对矩阵进行量化编码1.离散傅立叶变换的Matlab实现

 wdcbm Thresholdsforwavelet1-DusingBirge-Massartstrategy

 wdcbm2 Thresholdsforwavelet2-DusingBirge-Massartstrategy

 wden用小波进行一维信号的消噪或压缩

 wdencmp De-noisingorcompressionusingwavelets

 wentropy计算小波包的熵

 wextend Extendavectororamatrix

* wfilters小波滤波器

 wkeep提取向量或矩阵中的一部分

* wmaxlev计算小波分解的最大尺度1.离散傅立叶变换的Matlab实现

 wnoise产生含噪声的测试函数数据

 wnoisest估计一维小波的系数的标准偏差

 wp2wtree从小波包树中提取小波树 1.离散傅立叶变换的Matlab实现

 wpcoef计算小波包系数

 wpcutree剪切小波包分解树

 wpdec一维小波包的分解函数fft、fft2和fftn分

 wpdec2二维小波包的分解

 wpdencmp用小波包进行信号的消噪或压缩

 wpfun小波包函数函数fft、fft2和fftn分

wpjoin 重组小波包

 wprcoef小波包分解系数的重构

 wprec一维小波包分解的重构1.离散傅立叶变换的Matlab实现

 wprec2二维小波包分解的重构

 wpsplt分割(分解)小波包

 wpthcoef进行小波包分解系数的阈值处理函数fft、fft2和fftn分

 wptree 显示小波包树结构

 wpviewcf Plotthecoloredwaveletpacketcoefficients.

 wrcoef对一维小波系数进行单支重构别可以实现一维、二维和N维DFT

 wrcoef2对二维小波系数进行单支重构

 wrev向量逆序

 write向缓冲区内存写进数据

 wtbo ConstructorfortheclassWTBO

 wthcoef一维信号的小波系数阈值处理

 wthcoef2二维信号的小波系数阈值处理1.离散傅立叶变换的Matlab实现

 wthresh进行软阈值或硬阈值处理

 wthrmngr阈值设置管理

 wtreemgr管理树结构Matlab

 

1.装载信号

在MATLAB命令行中输入

loadnoisbloc

s=noisbloc(1:

1024);

ls=length(s);

plot(s);

 

2.完成信号的单尺度一维离散小波分解

采用db4基本小波分解信号

在命令窗口中输入

[cA1,cD1]=dwt(s,'db4');

这就产生了低频系数cA1和高频系数cD1。

可以通过whos命令查看cA1和cD1的长度:

whos

NameSizeBytesClass

cA11x5154120doublearray

cD11x5154120doublearray

ls1x18doublearray

noisbloc1x10248192doublearray

s1x10248192doublearray

Grandtotalis3079elementsusing24632bytes

 

3.从系数中重构低频部分和高频部分

从第二步产生的系数cA1和cD1构造第一层的低频和高频(A1和D1)系数;

A1=upcoef('a',cA1,'db4',1,ls);

D1=upcoef('a',cD1,'db4',1,ls);

或用下面两个函数:

A1=idwt(cA1,[],'db4',ls);

D1=idwt(cD1,[],'db4',ls);

 

4.显示高频和低频部分

为了显示第一层分解结果,输入

subplot(211);plot(A1);title('低频A1');

subplot(212);plot(D1);title('低频D1');

 

5.由小波逆变换恢复信号

使用idwt函数很容易实现,在命令窗口输入

subplot(211);plot(s);title('原始信号');

subplot(212);plot(A0);title('重构信号');

 

6.多层一维分解

为了完成一个5层的分解,输入:

[C,L]=wavedec(s,5,'db4');

 

7.提取系数的低频和高频部分

为了从上面的C中提取第3层的低频系数,输入:

cA3=appcoef(C,L,'db4',3);

 

8.重构第3层的低频系数

为了从上面的C中重构第3层的低频系数,输入:

A3=wrcoef('a',C,L,'db4',3);

 

9.重构第1、2、3、4、5层的高频信号

其方法是:

cA5=appcoef(C,L,'db4',5);

A5=wrcoef('a',C,L,'db4',5);

D1=wrcoef('d',C,L,'db4',1);

D2=wrcoef('d',C,L,'db4',2);

D3=wrcoef('d',C,L,'db4',3);

D4=wrcoef('d',C,L,'db4',4);

D5=wrcoef('d',C,L,'db4',5);

下面显示多尺度一维分解的结果:

subplot(322);plot(D1);title('低频D1');

subplot(323);plot(D2);title('低频D2');

subplot(323);plot(D3);title('低频D3');

subplot(325);plot(A5);title('低频D4');

subplot(326);plot(A5);title('低频D5');

 

10.重构原始信号并显示

A0=waverec(C,L,'db4');

subplot(311);plot(s);title('原始信号');

subplot(312);plot(A0);title('重构信号');

subplot(313);plot(s-A0);title('误差信号');

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 小升初

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1