zoukankan      html  css  js  c++  java
  • 一维的Haar小波变换

    小波变换的基本思想是用一组小波函数或者基函数表示一个函数或者信号,例如图像信号。为了理解什么是小波变换,下面用一个具体的例子来说明小波变换的过程。

    1. 求有限信号的均值和差值

       [例] 假设有一幅分辨率只有4个像素 的一维图像,对应的像素值或者叫做图像位置的系数分别为: 
                      [9  7  3  5]
     计算它的哈尔小波变换系数。

    计算步骤如下:
        步骤1:求均值(averaging)。计算相邻像素对的平均值,得到一幅分辨率比较低的新图像,它的像素数目变成了2个,即新的图像的分辨率是原来的1/2,相应的像素值为:

                [8 4]

    步骤2:求差值(differencing)。很明显,用2个像素表示这幅图像时,图像的信息已经部分丢失。为了能够从由2个像素组成的图像重构出由4个像素组成的原始图像,就需要存储一些图像的细节系数(detail coefficient),以便在重构时找回丢失的信息。方法是把像素对的第一个像素值减去这个像素对的平均值,或者使用这个像素对的差值除以2。在这个例子中,第一个细节系数是(9-8)=1,因为计算得到的平均值是8,它比9小1而比7大1,存储这个细节系数就可以恢复原始图像的前两个像素值。使用同样的方法,第二个细节系数是(3-4)=-1,存储这个细节系数就可以恢复后2个像素值。因此,原始图像就可以用下面的两个平均值和两个细节系数表示,

                   [8 4 1 -1]

    步骤3:重复第1,2步,把由第一步分解得到的图像进一步分解成分辨率更低的图像和细节系数。在这个例子中,分解到最后,就用一个像素的平均值6和三个细节系数2,1和-1表示整幅图像。

                   [6  2  1  -1]

    这个分解过程如表8-1所示。

    8-1 哈尔变换过程

    分辨率

    平均值

    细节系数

    4

    [9  7  3  5]

     

    2

    [8  4]

    [1  -1]

    1

    [6]

    [2]

     

        由此可见,通过上述分解就把由4像素组成的一幅图像用一个平均像素值和三个细节系数表示,这个过程就叫做哈尔小波变换(Haar wavelet transform),也称哈尔小波分解(Haar wavelet decomposition)。这个概念可以推广到使用其他小波基的变换。
        从这个例子中我们可以看到:
      ① 变换过程中没有丢失信息,因为能够从所记录的数据中重构出原始图像。
      ② 对这个给定的变换,我们可以从所记录的数据中重构出各种分辨率的图像。例如,在分辨率为1的图像基础上重构出分辨率为2的图像,在分辨率为2的图像基础上重构出分辨率为4的图像。
      ③ 通过变换之后产生的细节系数的幅度值比较小,这就为图像压缩提供了一种途径,例如去掉一些微不足道的细节系数并不影响对重构图像的理解。

    图1 是Haar 小波对二维图像的一级及三级分解子带图, 在右图中最低频a3 子带图像与原始图像极其相似, 只是尺寸变小, 它包含了原图的绝大部分能量,对恢复图像质量影响较大, 其余高频子带的小波系数大多非常小。在同一层, 由于v 及h 子图表示的边缘子图像的小波系数和方差比d 子图要大, 因此d 子图在重构图像时不是很重要[4 ]。

     
     本文参考:  http://blog.csdn.net/liulina603/article/details/8649339
  • 相关阅读:
    剑指前端(前端入门笔记系列)——BOM
    剑指前端(前端入门笔记系列)——DOM(元素大小)
    剑指前端(前端入门笔记系列)——DOM(属性节点)
    剑指前端(前端入门笔记系列)——DOM(元素节点)
    剑指前端(前端入门笔记系列)——Math对象
    剑指前端(前端入门笔记系列)——DOM(基本组成与操作)
    剑指前端(前端入门笔记系列)——数组(方法)
    剑指前端(前端入门笔记系列)——数组(基本语法)
    剑指前端(前端入门笔记系列)——Date对象
    根据不同域名实现数据源切换
  • 原文地址:https://www.cnblogs.com/tianyalu/p/5245018.html
Copyright © 2011-2022 走看看