pk10开户注册

图像小波变换的matlab实现详解_快艇发动机

发布时间:2019-09-23    信息来源:www.dsiukgov.com    作者:儒安机械
  小波变换的原理

  所谓的小波的小是针对傅里叶波而言,傅里叶波指的是在时域空间无穷震荡的正弦(或余弦波)。

  相对而言,小波指的是一种能量在时域非常集中的波,它的能量有限,都集中在某一点附近,而且积分的值为零,这说明它与傅里叶波一样是正交波。

  举一些小波的例子:

  

图像小波变换原理_图像小波变换的matlab实现详解

pk10开户注册  可以看到,能量集中在x轴0值附近,以y轴的0值为基线,上下两个区域的波形面积相等。

  众所周知,图像的傅里叶变换是将图像信号分解为各种不同频率的正弦波。同样,小波变换是将图像信号分解为由原始小波位移和缩放之后的一组小波。

  小波在图像处理里被称为图像显微镜,原因在于它的多分辨率分解能力可以将图片信息一层一层分解剥离开来。剥离的手段就是通过低通和高通滤波器,

  这里我们以一个图像的横向一维为例,讲讲小波的分解与还原,采用的是Haar小波做分解:

pk10开户注册  图像原始像素矩阵:[6 4 8 7 5 9 3 2]

pk10开户注册  分解低通滤波器:[ 1 1]/sqrt(2)

pk10开户注册  分解高通滤波器:[-1 1]/sqrt(2)

pk10开户注册  1、用低通滤波器与原始像素矩阵做卷积得:[8 10 12 15 12 14 12 5]/sqrt(2)

pk10开户注册  下采样得:[10 15 14 5]/sqrt(2) -----》L

  2、用高通滤波器与原始像素矩阵做卷积得:[-4 2 -4 1 2 -4 6 1]/sqrt(2)

  下采样得:[2 1 -4 1]/sqrt(2) -----》H

  上例为一维情况,二维情况在做完横向滤波之后再进行纵向滤波即可。

  二、逆变换过程:

  重构低通滤波器:[1 1]/sqrt(2)

pk10开户注册  重构高通滤波器:[1 -1]/sqrt(2)

  1、对L数组插值得:[0 10 0 15 0 14 0 5]/sqrt(2)

  再用低通滤波器做卷积得:[10 10 15 15 14 14 5 5]/2

  2、对H数组插值得:[0 2 0 1 0 -4 0 1]/sqrt(2)

  再用高通滤波器做卷积得:[2 -2 1 -1 -4 4 1 -1]/2

  两个数组求和得:[6 4 8 7 5 9 3 2] ,矩阵被还原了。

  三、基于小波变换的图像压缩

  我们知道,图像的低频部分保存的是图像的轮廓信息,而高频保存的是图像的边缘和细节信息,大量的研究表明,幅值低的高频信息对于图像共享较小,

pk10开户注册  丢弃对图像质量的影响不大,所以小波变换的特性给了图像压缩一个很好的工具,将原图进行小波分解以后,为高频信息设置一个阈值a,假如该点的值小于a则置零这样就抛弃掉了图像中影响不大的低幅值高频信息,还原出来的图像没有明显的质量下降,但是占用空间却变小了。

pk10开户注册  给一个别人论文里的示例和统计:

  

图像小波变换原理_图像小波变换的matlab实现详解

  效果:

  

图像小波变换原理_图像小波变换的matlab实现详解

  图像小波变换的matlab实现详解

  1、 一维小波变换的 Matlab 实现

  (1) dwt 函数

pk10开户注册  功能:一维离散小波变换

  格式:[cA,cD]=dwt(X,‘wname’)

  [cA,cD]=dwt(X,Lo_D,Hi_D)

  说明:[cA,cD]=dwt(X,‘wname’) 使用指定的小波基函数 ‘wname’ 对信号 X 进行分解,cA、cD 分别为近似分量和细节分量;[cA,cD]=dwt(X,Lo_D,Hi_D) 使用指定的滤波器组 Lo_D、Hi_D 对信号进行分解。

  (2) idwt 函数

  功能:一维离散小波反变换

pk10开户注册  格式:X=idwt(cA,cD,‘wname’)

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

  X=idwt(cA,cD,‘wname’,L)

pk10开户注册  X=idwt(cA,cD,Lo_R,Hi_R,L)

pk10开户注册  说明: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 实现

  

图像小波变换原理_图像小波变换的matlab实现详解

  (1) wcodemat 函数

  功能:对数据矩阵进行伪彩色编码

pk10开户注册  格式: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’ ,按行编码

pk10开户注册  OPT=‘col’ ,按列编码

  OPT=‘mat’ ,按整个矩阵编码

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

  ABSOL=0 时,返回编码矩阵

pk10开户注册  ABSOL=1 时,返回数据矩阵的绝对值 ABS(X)

  (2) dwt2 函数

  功能:二维离散小波变换

pk10开户注册  格式:[cA,cH,cV,cD]=dwt2(X,‘wname’)

pk10开户注册  [cA,cH,cV,cD]=dwt2(X,Lo_D,Hi_D)

上一篇:全球金融危机十周年启示:2018金融危机又要来了_科鲁兹发动机
下一篇:python串口编程实例_发动机清洁剂