Fluidmach 发表于 2016-4-1 11:12

matlab中图像小波变换的应用实例

本帖最后由 Fluidmach 于 2016-4-1 11:15 编辑

  matlab中图像小波变换的应用实例如下:
  1 一维小波变换的 Matlab 实现

  (1) dwt 函数

  功能:一维离散小波变换
  格式:=dwt(X,'wname')
  =dwt(X,Lo_D,Hi_D)
  说明:=dwt(X,'wname') 使用指定的小波基函数 'wname' 对信号 X 进行分解,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)
  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 个点。

  2 二维小波变换的 Matlab 实现

  二维小波变换的函数
 

  函数名 函数功能
 

  dwt2 二维离散小波变换
  wavedec2 二维信号的多层小波分解
  idwt2 二维离散小波反变换
  waverec2 二维信号的多层小波重构
  wrcoef2 由多层小波分解重构某一层的分解信号
  upcoef2 由多层小波分解重构近似分量或细节分量
  detcoef2 提取二维信号小波分解的细节分量
  appcoef2 提取二维信号小波分解的近似分量
  upwlev2 二维小波分解的单层重构
  dwtpet2 二维周期小波变换
  idwtper2 二维周期小波反变换

  (1) wcodemat 函数

  功能:对数据矩阵进行伪彩色编码
  格式:
  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'),即:
  OPT='row' ,按行编码
  OPT='col' ,按列编码
  OPT='mat' ,按整个矩阵编码
  ABSOL 是函数的控制参数(缺省值为 '1'),即:
  ABSOL=0 时,返回编码矩阵
  ABSOL=1 时,返回数据矩阵的绝对值 ABS(X)

  (2) dwt2 函数

  功能:二维离散小波变换
  格式:=dwt2(X,'wname')
  =dwt2(X,Lo_D,Hi_D)
  说明:=dwt2(X,'wname')使用指定的小波基函数 'wname' 对二维信号 X 进行二维离散小波变幻;cA,cH,cV,cD 分别为近似分
  量、水平细节分量、垂直细节分量和对角细节分量;=dwt2(X,Lo_D,Hi_D) 使用指定的分解低通和高通滤波器 Lo_D 和 Hi_D 分
  解信号 X 。

  (3) wavedec2 函数

  功能:二维信号的多层小波分解
  格式:=wavedec2(X,N,'wname')
  =wavedec2(X,N,Lo_D,Hi_D)
  说明:=wavedec2(X,N,'wname') 使用小波基函数 'wname' 对二维信号 X 进行 N 层分解;=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,Lo_R,Hi_R)
  X=idwt2(cA,cH,cV,cD,'wname',S)
  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 重构原信号。


转自:http://blog.sina.com.cn/s/blog_54e2ed7b0100mrza.html


页: [1]
查看完整版本: matlab中图像小波变换的应用实例