fbpx
维基百科

哈爾小波轉換

哈爾小波轉換(英語:Haar wavelet)是由数学家哈尔·阿尔弗雷德於1909年所提出的函数变换英语Transform theory,也是小波轉換中最簡單的一種轉換,也是最早提出的小波轉換。他是多贝西小波的於N=2的特例,可稱之為D2或db1。

哈爾小波的母小波(mother wavelet)可表示為:

對應的尺度函数(scaling function)可表示為:

其濾波器(filter)被定義為

當n = 0與n = 1時,有兩個非零係數,因此,我們可以將它寫成

在所有正交性(orthonormal)小波轉換中哈爾小波(Haar wavelet)轉換是最簡單的一種轉換,但它並不適合用於較為平滑的函數,因為它只有一個消失矩(Vanishing Moment)。

小波母函數

参与变换的小波函数(wavelet function)也叫母小波(mother wavelet)。

小波母函數可以用尺度函数表示: 

对小波的母函数可以进行伸缩和平移,例如  

当尺度离散方式选取 时,依据哈尔小波函数的定义,我们可以推出[1]

(1):不同尺度的小波函数相互正交(即 ),例如:

 
  (证明同上)
 

(2):整数位移之间相互正交(即 ),例如:

 
 
 

尺度函數

scaling function,以下為尺度函數的簡易圖示:

(1):  

(2):  

(3):  

優點

(1)簡單(Simple)

(2)快速算法(Fast algorithm)

(3)正交(Orthogonal)→可逆(reversible)

(4)結構緊湊(Compact),實(real),奇(odd)

(5)具有一阶消失矩(Vanish moment)

特性

哈爾小波具有如下的特性:

(1)任一函數都可以由 以及它們的位移函數所組成

(2)任一函數都可以由常函數, 以及它們的位移函數所組成

(3)正交性(Orthogonal)

     

(4)不同寬度的(不同m)的小波函数和尺度函数之間會有一個關係

  • 小尺度的尺度函数可以表示大尺度的尺度函数

 

 

 

  • 小尺度的尺度函数可以表示大尺度的小波函数

 

 

 

(5)可以用m+1的 係數来計算m的係數

 

 

 

 

圖示如下:

 

快速演算法

 

上圖為哈爾小波轉換的快速演算簡易圖示,此為多重解析結構(multiresolution analysis)。

哈爾轉換

哈尔变换最早是由哈尔在1910年的论文《论正交函数系理论》(德語:Zur Theorie der Orthogonalen Funktionensysteme)中所提出,是一種最簡單又可以反應出時變頻譜(time-variant spectrum)的表示方法。其觀念與傅里叶变换相近。傅里叶变换的原理是利用正弦波與余弦波來對訊號進行調變;而哈尔变换則是利用哈尔函数來對訊號進行調變。哈尔函数也含有正弦函数系和余弦函数系所擁有的正交性,也就是說不同的哈尔函数是互相正交的,其內積為零。

以下面的哈爾轉換矩陣為例,我們取第1行和第2行來做內積,得到的結果為零;取第二行和第三行來做內積,得到的結果也是零。依序下去,我們可以發現在哈爾轉換矩陣任取兩行來進行內積的運算,所得到的內積皆為零。

  
  
  

在此前提下,利用傅里叶变换的觀念,假設所要分析的訊號可以使用多個頻率與位移不同的哈尔函数來組合而成。進行哈尔变换時,因為哈尔函数的正交性,便可求出訊號在不同哈尔函数(不同頻率)的情況下所占有的比例。

哈尔变换有以下幾點特性:

  1. 不需要乘法(只有相加或加減)
  2. 輸入與輸出個數相同
  3. 頻率只分為低頻(直流值)與高頻(1和-1)部分
  4. 可以分析一個訊號的局部特征
  5. 運算速度極快,但不適合用於訊號分析
  6. 大部分運算為0,不用計算
  7. 維度小,计算时需要占用的内存空间少
  8. 因為大部分為高頻,轉換較籠統

對一矩陣 做哈爾小波轉換的公式為 ,其中 為一 的區塊且  點的哈爾小波轉換。而反哈爾小波轉換為 。以下為 在2、4及8點時的值:

  
  
  
此外,當 時, 。其中 除了第0行為  =[1 1 1 ... 1]/ ,共N個1),第 行為 
 
Matlab Code:
function [Hr]=haar_matrix(N, normalized)     % Input :     %     N : size of matrix, N must be power of 2.     % Output:     %    Hr : Haar matrix of size NxN     p=[0 0];     q=[0 1];     n=nextpow2(N);     for i=1:n-1         p=[p i*ones(1,2^i)];         t=1:(2^i);         q=[q t];     end     Hr=zeros(N,N);     Hr(1,:)=1;     for i=2:N         P=p(1,i); Q=q(1,i);         for j= (N*(Q-1)/(2^P)):(N*((Q-0.5)/(2^P))-1)             Hr(i,j+1)=2^(P/2);         end         for j= (N*((Q-0.5)/(2^P))):(N*(Q/(2^P))-1)             Hr(i,j+1)=-(2^(P/2));         end     end     if normalized         Hr=Hr*(1/sqrt(N));     end end 
Python Code:
def haarMatrix(n, normalized=False): # Allow only size n of power 2 n = 2**np.ceil(np.log2(n)) if n > 2: h = haarMatrix(n / 2) else: return np.array([[1, 1], [1, -1]]) # calculate upper haar part h_n = np.kron(h, [1, 1]) # calculate lower haar part  if normalized: h_i = np.sqrt(n/2)*np.kron(np.eye(len(h)), [1, -1]) else: h_i = np.kron(np.eye(len(h)), [1, -1]) # combine parts h = np.vstack((h_n, h_i)) return h 

哈爾小波轉換應用於圖像壓縮

說明

由於數位圖片檔案過大,因此我們往往會對圖片做圖像壓縮,壓縮過後的檔案大小不僅存放於電腦中不會佔到過大容量,也方便我們於網路上傳送。哈爾小波轉換其中一種應用便是用來壓縮圖像。壓縮圖像的基本概念為將圖像存成到一矩陣,例如256x256大小的圖片會存成256x256大小的矩阵,矩陣中的每一元素則代表是每一圖像的某畫素值,介於0到255間。JPEG影像壓縮的概念為先將圖像切成8x8大小的區塊,每一區塊為一8x8的矩陣。示意圖可見右圖。
在處理8x8二維矩陣前,先試著對一維矩陣 作哈爾小波轉換,
公式為 

範例

對8x8的二維矩陣A作哈爾小波轉換,由於 是對 的每一列作哈爾小波轉換,作完後還要對 的每一行作哈爾小波轉換,因此公式為 。以下為一簡單的例子:
 
列哈爾小波轉換(row Haar wavelet transform)
 
行哈爾小波轉換(column Haar wavelet transform)
 
由以上例子可以看出哈爾小波轉換的效果,原本矩陣中變化量不大的元素經過轉換後會趨近零,再配合適當量化便可以達到壓縮的效果了。此外若一矩陣作完哈爾小波轉換後所含的零元素非常多的話,稱此矩陣叫稀疏,若一矩陣越稀疏壓縮效果越好。因此可對定一臨界值 若矩陣中元素的絕對值小於此臨界值 ,可將該元素令成零,可得到更大的壓縮率。然而 取過大的話會造成圖像嚴重失真,因此如何取適當的 也是值得討論的議題。

哈爾小波轉換運算量比沃爾什轉換更少

若應用於區域的頻譜分析及偵測邊緣的話,离散傅立叶变换Walsh-Hadamard变换及哈爾小波轉換的計算量見下表
Running Time terms required for NRMSE <  
離散傅立葉變換 9.5秒 43
沃爾什轉換 2.2秒 65
哈爾小波轉換 0.3秒 128

參考

  • Jian-Jiun Ding, Time frequency analysis and wavelet transform class note,the Department of Electrical Engineering, National Taiwan University (NTU), Taipei, Taiwan, 2007.
  • Joseph Khoury, Application to image compression, http://aix1.uottawa.ca/~jkhoury/haar.htm(页面存档备份,存于互联网档案馆
  • Lokenath Debnath, Wavelet Transforms and Their Application,Birkhauser, Boston,USA, 2002.
  • Charles K. Chui, Wavelets:A Tutorial in Theory and Applications,ACADEMIC PRESS,San Diego,USA, 1992.
  • Wavelets and subbands : fundamentals and applications/Agostino Abbate, Casimer M. DeCusatis, Pankaj K. Das.
  1. ^ 胡广书. 现代信号处理教程 第二版. 北京. 2015-03. ISBN 978-7-302-38934-7. OCLC 1101305618. 

哈爾小波轉換, 建議将哈爾小波併入此條目或章節, 討論, 英語, haar, wavelet, 是由数学家哈尔, 阿尔弗雷德於1909年所提出的函数变换, 英语, transform, theory, 也是小波轉換中最簡單的一種轉換, 也是最早提出的小波轉換, 他是多贝西小波的於n, 2的特例, 可稱之為d2或db1, 哈爾小波的母小波, mother, wavelet, 可表示為, otherwise, displaystyle, begin, cases, quad, mbox, otherwise, case. 建議将哈爾小波併入此條目或章節 討論 哈爾小波轉換 英語 Haar wavelet 是由数学家哈尔 阿尔弗雷德於1909年所提出的函数变换 英语 Transform theory 也是小波轉換中最簡單的一種轉換 也是最早提出的小波轉換 他是多贝西小波的於N 2的特例 可稱之為D2或db1 哈爾小波的母小波 mother wavelet 可表示為 ps t 1 0 t lt 1 2 1 1 2 t lt 1 0 otherwise displaystyle psi t begin cases 1 quad amp 0 leq t lt 1 2 1 amp 1 2 leq t lt 1 0 amp mbox otherwise end cases 對應的尺度函数 scaling function 可表示為 ϕ t 1 0 t lt 1 0 otherwise displaystyle phi t begin cases 1 quad amp 0 leq t lt 1 0 amp mbox otherwise end cases 其濾波器 filter h n displaystyle h n 被定義為 h n 1 2 if n 0 1 0 otherwise displaystyle h n begin cases frac 1 sqrt 2 amp mbox if n 0 1 0 amp mbox otherwise end cases 當n 0與n 1時 有兩個非零係數 因此 我們可以將它寫成1 2 ps t 2 n 1 1 n h 1 n ϕ t n 1 2 ϕ t 1 ϕ t displaystyle begin aligned frac 1 sqrt 2 psi left frac t 2 right amp sum n infty infty 1 1 n h 1 n phi t n amp frac 1 sqrt 2 phi t 1 phi t end aligned 在所有正交性 orthonormal 小波轉換中哈爾小波 Haar wavelet 轉換是最簡單的一種轉換 但它並不適合用於較為平滑的函數 因為它只有一個消失矩 Vanishing Moment 目录 1 小波母函數 2 尺度函數 3 優點 4 特性 5 快速演算法 6 哈爾轉換 7 哈爾小波轉換應用於圖像壓縮 7 1 說明 7 2 範例 8 哈爾小波轉換運算量比沃爾什轉換更少 9 參考小波母函數 编辑参与变换的小波函数 wavelet function 也叫母小波 mother wavelet 小波母函數可以用尺度函数表示 ps t ϕ 2 t ϕ 2 t 1 displaystyle psi t phi 2t phi 2t 1 对小波的母函数可以进行伸缩和平移 例如ps 2 t displaystyle psi 2t ps 2 m t n displaystyle psi 2 m t n 当尺度离散方式选取a 2 j j Z displaystyle a 2 j j in mathbb Z 时 依据哈尔小波函数的定义 我们可以推出 1 1 不同尺度的小波函数相互正交 即 lt ps t ps 2 j t gt ps t ps 2 j t d t 0 j 0 displaystyle lt psi t psi 2 j t gt int psi t psi 2 j t dt 0 forall j neq 0 例如 ps t ps 2 t d t 0 1 2 ps 2 t d t 1 2 1 ps 2 t d t t 2 t 0 1 ps t 2 d t 1 2 ps t 2 d t 0 displaystyle begin aligned int psi t psi 2t dt amp int 0 1 2 psi 2t dt int 1 2 1 psi 2t dt amp stackrel tau 2t int 0 1 frac psi tau 2 d tau int 1 2 frac psi tau 2 d tau amp 0 end aligned ps t ps 4 t d t 0 displaystyle int psi t psi 4t dt 0 证明同上 ps 2 j 1 t ps 2 j 2 t d t 0 j 1 j 2 displaystyle int psi 2 j 1 t psi 2 j 2 t dt 0 j 1 neq j 2 2 整数位移之间相互正交 即 lt ps t ps t k gt ps t ps t k d t 0 k 0 displaystyle lt psi t psi t k gt int psi t psi t k dt 0 forall k neq 0 例如 ps t ps t 1 d t 0 displaystyle int psi t psi t 1 dt 0 ps t ps 2 t 1 d t 0 displaystyle int psi t psi 2t 1 dt 0 ps t ps 2 m t 1 d t 0 displaystyle int psi t psi 2 m t 1 dt 0 尺度函數 编辑scaling function 以下為尺度函數的簡易圖示 1 ϕ t displaystyle phi t 2 ϕ 2 t 2 ϕ 2 t ϕ t ps t displaystyle phi 2t 2 phi 2t phi t psi t 3 ps 2 m t n displaystyle psi 2 m t n 優點 编辑 1 簡單 Simple 2 快速算法 Fast algorithm 3 正交 Orthogonal 可逆 reversible 4 結構緊湊 Compact 實 real 奇 odd 5 具有一阶消失矩 Vanish moment 特性 编辑哈爾小波具有如下的特性 1 任一函數都可以由ϕ t ϕ 2 t ϕ 4 t ϕ 2 k t displaystyle phi t phi 2t phi 4t dots phi 2 k t dots 以及它們的位移函數所組成 2 任一函數都可以由常函數 ps t ps 2 t ps 4 t ps 2 k t displaystyle psi t psi 2t psi 4t dots psi 2 k t dots 以及它們的位移函數所組成 3 正交性 Orthogonal 2 m ps 2 m 1 t n 1 ps 2 m t n d t d m m 1 d n n 1 displaystyle int infty infty 2 m psi 2 m 1 t n 1 psi 2 m t n dt delta m m 1 delta n n 1 d i j 1 i j 0 i j displaystyle delta i j begin cases 1 amp i j 0 amp mbox i j end cases 4 不同寬度的 不同m 的小波函数和尺度函数之間會有一個關係 小尺度的尺度函数可以表示大尺度的尺度函数ϕ t ϕ 2 t ϕ 2 t 1 displaystyle phi t phi 2t phi 2t 1 ϕ t n ϕ 2 t 2 n ϕ 2 t 2 n 1 displaystyle phi t n phi 2t 2n phi 2t 2n 1 ϕ 2 m t n ϕ 2 m 1 t 2 n ϕ 2 m 1 t 2 n 1 displaystyle phi 2 m t n phi 2 m 1 t 2n phi 2 m 1 t 2n 1 小尺度的尺度函数可以表示大尺度的小波函数ps t ϕ 2 t ϕ 2 t 1 displaystyle psi t phi 2t phi 2t 1 ps t n ϕ 2 t n ϕ 2 t 2 n 1 displaystyle psi t n phi 2t n phi 2t 2n 1 ps 2 m t n ϕ 2 m 1 t n ϕ 2 m 1 t 2 n 1 displaystyle psi 2 m t n phi 2 m 1 t n phi 2 m 1 t 2n 1 5 可以用m 1的 係數来計算m的係數若x w n m 2 m 2 x t ϕ 2 m t n d t displaystyle chi w n m 2 m 2 int infty infty x t phi 2 m t n dt x w n m 2 m 2 x t ϕ 2 m 1 t 2 n d t 2 m 2 x t ϕ 2 m 1 t 2 n 1 d t 1 2 x w 2 n m 1 x w 2 n 1 m 1 displaystyle begin aligned chi w n m amp 2 m 2 int infty infty x t phi 2 m 1 t 2n dt 2 m 2 int infty infty x t phi 2 m 1 t 2n 1 dt amp sqrt frac 1 2 chi w 2n m 1 chi w 2n 1 m 1 end aligned 若X w n m 2 m 2 x t ps 2 m t n d t displaystyle mathrm X w n m 2 m 2 int infty infty x t psi 2 m t n dt X w n m 2 m 2 x t ϕ 2 m 1 t 2 n d t 2 m 2 x t ϕ 2 m 1 t 2 n 1 d t X w n m 1 2 x w 2 n m 1 x w 2 n 1 m 1 displaystyle begin aligned mathrm X w n m amp 2 m 2 int infty infty x t phi 2 m 1 t 2n dt 2 m 2 int infty infty x t phi 2 m 1 t 2n 1 dt amp mathrm X w n m sqrt frac 1 2 chi w 2n m 1 chi w 2n 1 m 1 end aligned 圖示如下 快速演算法 编辑 上圖為哈爾小波轉換的快速演算簡易圖示 此為多重解析結構 multiresolution analysis 哈爾轉換 编辑哈尔变换最早是由哈尔在1910年的论文 论正交函数系理论 德語 Zur Theorie der Orthogonalen Funktionensysteme 中所提出 是一種最簡單又可以反應出時變頻譜 time variant spectrum 的表示方法 其觀念與傅里叶变换相近 傅里叶变换的原理是利用正弦波與余弦波來對訊號進行調變 而哈尔变换則是利用哈尔函数來對訊號進行調變 哈尔函数也含有正弦函数系和余弦函数系所擁有的正交性 也就是說不同的哈尔函数是互相正交的 其內積為零 以下面的哈爾轉換矩陣為例 我們取第1行和第2行來做內積 得到的結果為零 取第二行和第三行來做內積 得到的結果也是零 依序下去 我們可以發現在哈爾轉換矩陣任取兩行來進行內積的運算 所得到的內積皆為零 N 2 displaystyle N 2 H 1 1 1 1 displaystyle H begin bmatrix 1 amp 1 1 amp 1 end bmatrix N 4 displaystyle N 4 H 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 displaystyle H begin bmatrix 1 amp 1 amp 1 amp 1 1 amp 1 amp 1 amp 1 1 amp 1 amp 0 amp 0 0 amp 0 amp 1 amp 1 end bmatrix N 8 displaystyle N 8 H 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 displaystyle H begin bmatrix 1 amp 1 amp 1 amp 1 amp 1 amp 1 amp 1 amp 1 1 amp 1 amp 1 amp 1 amp 1 amp 1 amp 1 amp 1 1 amp 1 amp 1 amp 1 amp 0 amp 0 amp 0 amp 0 0 amp 0 amp 0 amp 0 amp 1 amp 1 amp 1 amp 1 1 amp 1 amp 0 amp 0 amp 0 amp 0 amp 0 amp 0 0 amp 0 amp 1 amp 1 amp 0 amp 0 amp 0 amp 0 0 amp 0 amp 0 amp 0 amp 1 amp 1 amp 0 amp 0 0 amp 0 amp 0 amp 0 amp 0 amp 0 amp 1 amp 1 end bmatrix 在此前提下 利用傅里叶变换的觀念 假設所要分析的訊號可以使用多個頻率與位移不同的哈尔函数來組合而成 進行哈尔变换時 因為哈尔函数的正交性 便可求出訊號在不同哈尔函数 不同頻率 的情況下所占有的比例 哈尔变换有以下幾點特性 不需要乘法 只有相加或加減 輸入與輸出個數相同 頻率只分為低頻 直流值 與高頻 1和 1 部分 可以分析一個訊號的局部特征 運算速度極快 但不適合用於訊號分析 大部分運算為0 不用計算 維度小 计算时需要占用的内存空间少 因為大部分為高頻 轉換較籠統對一矩陣A displaystyle A 做哈爾小波轉換的公式為B H A H T displaystyle B HAH T 其中A displaystyle A 為一N N displaystyle N times N 的區塊且H displaystyle H 為N displaystyle N 點的哈爾小波轉換 而反哈爾小波轉換為A H T B H displaystyle A H T BH 以下為H displaystyle H 在2 4及8點時的值 N 2 displaystyle N 2 H 1 2 1 2 1 2 1 2 displaystyle H begin bmatrix frac 1 sqrt 2 amp frac 1 sqrt 2 frac 1 sqrt 2 amp frac 1 sqrt 2 end bmatrix N 4 displaystyle N 4 H 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 0 0 0 0 1 2 1 2 displaystyle H begin bmatrix frac 1 2 amp frac 1 2 amp frac 1 2 amp frac 1 2 frac 1 2 amp frac 1 2 amp frac 1 2 amp frac 1 2 frac 1 sqrt 2 amp frac 1 sqrt 2 amp 0 amp 0 0 amp 0 amp frac 1 sqrt 2 amp frac 1 sqrt 2 end bmatrix N 8 displaystyle N 8 H 1 8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 1 2 1 2 1 2 1 2 0 0 0 0 0 0 0 0 1 2 1 2 1 2 1 2 1 2 1 2 0 0 0 0 0 0 0 0 1 2 1 2 0 0 0 0 0 0 0 0 1 2 1 2 0 0 0 0 0 0 0 0 1 2 1 2 displaystyle H begin bmatrix frac 1 sqrt 8 amp frac 1 sqrt 8 amp frac 1 sqrt 8 amp frac 1 sqrt 8 amp frac 1 sqrt 8 amp frac 1 sqrt 8 amp frac 1 sqrt 8 amp frac 1 sqrt 8 frac 1 sqrt 8 amp frac 1 sqrt 8 amp frac 1 sqrt 8 amp frac 1 sqrt 8 amp frac 1 sqrt 8 amp frac 1 sqrt 8 amp frac 1 sqrt 8 amp frac 1 sqrt 8 frac 1 2 amp frac 1 2 amp frac 1 2 amp frac 1 2 amp 0 amp 0 amp 0 amp 0 0 amp 0 amp 0 amp 0 amp frac 1 2 amp frac 1 2 amp frac 1 2 amp frac 1 2 frac 1 sqrt 2 amp frac 1 sqrt 2 amp 0 amp 0 amp 0 amp 0 amp 0 amp 0 0 amp 0 amp frac 1 sqrt 2 amp frac 1 sqrt 2 amp 0 amp 0 amp 0 amp 0 0 amp 0 amp 0 amp 0 amp frac 1 sqrt 2 amp frac 1 sqrt 2 amp 0 amp 0 0 amp 0 amp 0 amp 0 amp 0 amp 0 amp frac 1 sqrt 2 amp frac 1 sqrt 2 end bmatrix 此外 當N 2 k displaystyle N 2 k 時 H ϕ h 0 0 h 1 0 h 1 1 h k 1 0 h k 1 1 h k 1 2 k 1 1 displaystyle H begin bmatrix phi h 0 0 h 1 0 h 1 1 h k 1 0 h k 1 1 h k 1 2 k 1 1 end bmatrix 其中H displaystyle H 除了第0行為ϕ displaystyle phi ϕ displaystyle phi 1 1 1 1 N displaystyle sqrt N 共N個1 第2 p q displaystyle 2 p q 行為h p q displaystyle h p q 且h p q n 1 2 k p w h e n q 2 k p n lt q 1 2 2 k p 1 2 k p w h e n q 1 2 2 k p n lt q 1 2 k p 0 o t h e r w i s e displaystyle h p q n begin cases 1 sqrt 2 k p when q2 k p leq n lt q 1 2 2 k p 1 sqrt 2 k p when q 1 2 2 k p leq n lt q 1 2 k p 0 otherwise end cases Matlab Code function Hr haar matrix N normalized Input N size of matrix N must be power of 2 Output Hr Haar matrix of size NxN p 0 0 q 0 1 n nextpow2 N for i 1 n 1 p p i ones 1 2 i t 1 2 i q q t end Hr zeros N N Hr 1 1 for i 2 N P p 1 i Q q 1 i for j N Q 1 2 P N Q 0 5 2 P 1 Hr i j 1 2 P 2 end for j N Q 0 5 2 P N Q 2 P 1 Hr i j 1 2 P 2 end end if normalized Hr Hr 1 sqrt N end end Python Code def haarMatrix n normalized False Allow only size n of power 2 n 2 np ceil np log2 n if n gt 2 h haarMatrix n 2 else return np array 1 1 1 1 calculate upper haar part h n np kron h 1 1 calculate lower haar part if normalized h i np sqrt n 2 np kron np eye len h 1 1 else h i np kron np eye len h 1 1 combine parts h np vstack h n h i return h哈爾小波轉換應用於圖像壓縮 编辑說明 编辑 由於數位圖片檔案過大 因此我們往往會對圖片做圖像壓縮 壓縮過後的檔案大小不僅存放於電腦中不會佔到過大容量 也方便我們於網路上傳送 哈爾小波轉換其中一種應用便是用來壓縮圖像 壓縮圖像的基本概念為將圖像存成到一矩陣 例如256x256大小的圖片會存成256x256大小的矩阵 矩陣中的每一元素則代表是每一圖像的某畫素值 介於0到255間 JPEG影像壓縮的概念為先將圖像切成8x8大小的區塊 每一區塊為一8x8的矩陣 示意圖可見右圖 在處理8x8二維矩陣前 先試著對一維矩陣r 1 2 1 2 1 8 0 8 2 2 1 9 2 1 displaystyle r begin bmatrix 1 2 1 2 1 8 0 8 2 2 1 9 2 1 end bmatrix 作哈爾小波轉換 公式為r 1 H r 13 8 4 596 3 8 1 061 0 1 0 1 0 0 1 2 0 707 0 0 2 2 0 141 13 8 3 8 0 0 0 1 2 0 0 displaystyle r 1 Hr begin bmatrix 13 sqrt 8 4 596 3 sqrt 8 1 061 0 1 0 1 0 0 1 sqrt 2 0 707 0 0 2 sqrt 2 0 141 end bmatrix approx begin bmatrix 13 sqrt 8 3 sqrt 8 0 0 0 1 sqrt 2 0 0 end bmatrix 範例 编辑 對8x8的二維矩陣A作哈爾小波轉換 由於A H displaystyle AH 是對A displaystyle A 的每一列作哈爾小波轉換 作完後還要對A displaystyle A 的每一行作哈爾小波轉換 因此公式為H T A H displaystyle H T AH 以下為一簡單的例子 A 576 704 1152 1280 1344 1472 1536 1536 704 640 1156 1088 1344 1408 1536 1600 768 832 1216 1472 1472 1536 1600 1600 832 832 960 1344 1536 1536 1600 1536 832 832 960 1216 1536 1600 1536 1536 960 896 896 1088 1600 1600 1600 1536 768 768 832 832 1280 1472 1600 1600 448 768 704 640 1280 1408 1600 1600 displaystyle A begin bmatrix 576 amp 704 amp 1152 amp 1280 amp 1344 amp 1472 amp 1536 amp 1536 704 amp 640 amp 1156 amp 1088 amp 1344 amp 1408 amp 1536 amp 1600 768 amp 832 amp 1216 amp 1472 amp 1472 amp 1536 amp 1600 amp 1600 832 amp 832 amp 960 amp 1344 amp 1536 amp 1536 amp 1600 amp 1536 832 amp 832 amp 960 amp 1216 amp 1536 amp 1600 amp 1536 amp 1536 960 amp 896 amp 896 amp 1088 amp 1600 amp 1600 amp 1600 amp 1536 768 amp 768 amp 832 amp 832 amp 1280 amp 1472 amp 1600 amp 1600 448 amp 768 amp 704 amp 640 amp 1280 amp 1408 amp 1600 amp 1600 end bmatrix 列哈爾小波轉換 row Haar wavelet transform L A H 1200 272 288 64 64 64 64 0 1185 288 225 96 32 34 32 32 1312 240 272 48 32 128 32 0 1272 280 160 16 0 192 0 32 1256 296 128 16 0 128 32 0 1272 312 32 16 32 96 0 32 1144 344 32 112 0 0 96 0 1056 416 32 128 160 32 64 0 displaystyle L AH begin bmatrix 1200 amp 272 amp 288 amp 64 amp 64 amp 64 amp 64 amp 0 1185 amp 288 amp 225 amp 96 amp 32 amp 34 amp 32 amp 32 1312 amp 240 amp 272 amp 48 amp 32 amp 128 amp 32 amp 0 1272 amp 280 amp 160 amp 16 amp 0 amp 192 amp 0 amp 32 1256 amp 296 amp 128 amp 16 amp 0 amp 128 amp 32 amp 0 1272 amp 312 amp 32 amp 16 amp 32 amp 96 amp 0 amp 32 1144 amp 344 amp 32 amp 112 amp 0 amp 0 amp 96 amp 0 1056 amp 416 amp 32 amp 128 amp 160 amp 32 amp 64 amp 0 end bmatrix 行哈爾小波轉換 column Haar wavelet transform S H T L 1212 306 146 54 24 68 40 4 30 36 90 2 8 20 8 4 50 10 20 24 0 72 16 16 82 38 24 68 48 64 32 8 8 8 32 16 48 48 16 16 20 20 56 16 16 32 16 16 8 8 48 0 16 16 16 16 44 36 0 8 80 16 16 0 displaystyle S H T L begin bmatrix 1212 amp 306 amp 146 amp 54 amp 24 amp 68 amp 40 amp 4 30 amp 36 amp 90 amp 2 amp 8 amp 20 amp 8 amp 4 50 amp 10 amp 20 amp 24 amp 0 amp 72 amp 16 amp 16 82 amp 38 amp 24 amp 68 amp 48 amp 64 amp 32 amp 8 8 amp 8 amp 32 amp 16 amp 48 amp 48 amp 16 amp 16 20 amp 20 amp 56 amp 16 amp 16 amp 32 amp 16 amp 16 8 amp 8 amp 48 amp 0 amp 16 amp 16 amp 16 amp 16 44 amp 36 amp 0 amp 8 amp 80 amp 16 amp 16 amp 0 end bmatrix 由以上例子可以看出哈爾小波轉換的效果 原本矩陣中變化量不大的元素經過轉換後會趨近零 再配合適當量化便可以達到壓縮的效果了 此外若一矩陣作完哈爾小波轉換後所含的零元素非常多的話 稱此矩陣叫稀疏 若一矩陣越稀疏壓縮效果越好 因此可對定一臨界值ϵ displaystyle epsilon 若矩陣中元素的絕對值小於此臨界值ϵ displaystyle epsilon 可將該元素令成零 可得到更大的壓縮率 然而ϵ displaystyle epsilon 取過大的話會造成圖像嚴重失真 因此如何取適當的ϵ displaystyle epsilon 也是值得討論的議題 哈爾小波轉換運算量比沃爾什轉換更少 编辑若應用於區域的頻譜分析及偵測邊緣的話 离散傅立叶变换 Walsh Hadamard变换及哈爾小波轉換的計算量見下表Running Time terms required for NRMSE lt 10 5 displaystyle 10 5 離散傅立葉變換 9 5秒 43沃爾什轉換 2 2秒 65哈爾小波轉換 0 3秒 128參考 编辑维基共享资源中相关的多媒体资源 哈爾小波轉換Jian Jiun Ding Time frequency analysis and wavelet transform class note the Department of Electrical Engineering National Taiwan University NTU Taipei Taiwan 2007 Joseph Khoury Application to image compression http aix1 uottawa ca jkhoury haar htm 页面存档备份 存于互联网档案馆 Lokenath Debnath Wavelet Transforms and Their Application Birkhauser Boston USA 2002 Charles K Chui Wavelets A Tutorial in Theory and Applications ACADEMIC PRESS San Diego USA 1992 Wavelets and subbands fundamentals and applications Agostino Abbate Casimer M DeCusatis Pankaj K Das 胡广书 现代信号处理教程 第二版 北京 2015 03 ISBN 978 7 302 38934 7 OCLC 1101305618 取自 https zh wikipedia org w index php title 哈爾小波轉換 amp oldid 76462936, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。