haar小波变换学习笔记

本篇很大一部分内容借鉴了篇末所引用的优质博客~~

小波可以认为是一个带通滤波器,只允许频率和小波基函数频率相近的信号通过。小波变换的基本思想是用一组小波函数和基函数表示一个函数或者信号。

haar小波变换
首先,以haar小波变换过程为例来理解小波变换。

例:求只有8个像素[2,4,6,8,10,12,14,16]的图像的哈尔小波变换系数。 计算步骤如下:

步骤1:求均值(averaging),也叫Approximation。计算相邻像素对的平均值,得到一幅分辨率比较低的新图像,新的图像的分辨率是原来的一半(8/2=4),相应的像素值为:[3,7,11,15]

步骤2:求差值(differencing)。很明显,用4个像素表示这幅图像时,图像的信息已经部分丢失。为了能够从由4个像素组成的图像重构出由8个像素组成的原始图像,就需要存储一些图像的细节系数(detail coefficient),以便在重构时找回丢失的信息。方法是使用这个像素对的差值除以2,结果为[-1,-1,-1,-1]。下面是求第m个差值的公式:

b[m]==(a[2m-1]−a[2m])/2

步骤3:此时上面两步形成了第一次分解的结果[3,7,11,15,-1,-1,-1,-1]。包含了图像的整体信息和细节信息。接下来的分解我们重复1,2步,将整体信息再次进行分解,得到了二级分解结果[5,13,-2,-2].同样的,前面的[5,13]是整体信息,后面的[-2,-2]是细节信息。
 

haar小波变换学习笔记_第1张图片

从这个例子中我们可以看到:
① 对这个给定的变换,我们可以从所记录的数据中重构出各种分辨率的图像。例如,在分辨率为1的图像基础上重构出分辨率为2的图像,在分辨率为2的图像基础上重构出分辨率为4的图像。
②变换过程中没有丢失信息,因为能够从所记录的数据中重构出原始图像。
③ 通过变换之后产生的细节系数的幅度值比较小,这就为图像压缩提供了一种途径,例如去掉一些微不足道的细节系数并不影响对重构图像的理解。

一维离散小波变换
经过小波变换后图像会生成低频信息和高频信息。低频信息对应于求均值,高频信息对应于求差值。
均值是局部的平均值,变化缓慢,属于低频信息,存储图片的轮廓信息,近似信息
差值是局部的波动值,变化较快,属于高频信息,存储图片的细节信息,局部信息,另外含有噪音

h_{high}是高通滤波器,允许高频信息通过
h_{low}是低通滤波器,允许低频信息通过

在haar小波中,h_{high}=(\frac{1}{\sqrt{2}},-\frac{1}{\sqrt{2}}),h_{low}=(\frac{1}{\sqrt{2}},\frac{1}{\sqrt{2}})

import pywt
data = [1, 1, 1, 1]
coeffs = pywt.dwt(data, 'haar')
# (cA, cD) : tuple   Approximation and detail coefficients.
cA, cD = coeffs

cA:[1.41421356 1.41421356]

cD:[0. 0.]

 

 haar小波变换学习笔记_第2张图片

案例一简单一维信号变换
下面是一个一维信号(一组数):f = { 2 , 2 , 2 , 4 , 4 , 4 } 

我对这个信号进行如下处理:

haar小波变换学习笔记_第3张图片

haar小波变换学习笔记_第4张图片

 二维离散小波变换

h_{high}是高通滤波器,允许高频信息通过
h_{low}是低通滤波器,允许低频信息通过

在这里插入图片描述

 A是低频信息,H是水平高频信息,V是垂直高频信息、D是对角高频信息。

在这里插入图片描述

import numpy as np
import pywt
data = np.ones((4, 4), dtype=np.float64)
[[1. 1. 1. 1.]
 [1. 1. 1. 1.]
 [1. 1. 1. 1.]
 [1. 1. 1. 1.]]
 
coeffs = pywt.dwt2(data, 'haar')
# (cA, (cH, cV, cD)) : tuple
# Approximation, horizontal detail, vertical detail and diagonal
# detail coefficients respectively
cA, (cH, cV, cD) = coeffs

print(cA)
[[2. 2.]
 [2. 2.]]
 
print(cH)
[[0. 0.]
 [0. 0.]]

假设一张图片只有4个像素,其经过2-D DWT之后得到4张子图,每个子图的详细计算过程如下:

 haar小波变换学习笔记_第5张图片

二维图像Haar变换:

对于二维图像Haar变换不再从一个方向进行滤波,而是从水平和竖直两个方向进行低通和高通滤波(水平和竖直先后不影响),用图像表述如图2所示:图2中a表示原图,图b表示经过一级小波变换的结果,h1 表示水平反向的细节,v1 表示竖直方向的细节,c1表示对角线方向的细节,b表示下2采样的图像。图c中表示继续进行Haar小波变换。一级Haar小波变换实际效果如图3所示
 

 

本篇所引用的优质的博客:

(24条消息) 小波变换一之Haar变换_卡尔曼和玻尔兹曼谁曼的博客-CSDN博客_haar变换

(24条消息) 【小波变换】小波变换入门----haar小波_1273545169的博客-CSDN博客_haar小波

小波变换-哈尔小波(Haar) - 知乎 (zhihu.com)

 (24条消息) 图像Haar小波变换_火车侠hcq的博客-CSDN博客_haar小波

你可能感兴趣的:(其他学习笔记,学习)