沃尔什变换

沃尔什变换

转自:沃爾什轉換

图像数据越是均匀分布,经过沃尔什-哈达玛变换后的数据越是集中于矩阵的边角上,因此沃尔什变换具有能量集中的性质,可以用于压缩图像信息。

轉換公式

沃爾什轉換的轉換式為:

F [ m ] = ∑ n = 0 N − 1 f [ n ] W [ m , n ] F[m]=\sum_{n=0}^{N-1} f[n] W[m, n] F[m]=n=0N1f[n]W[m,n]

其中 W [ m , n ] W[m, n] W[m,n]是沃爾什轉換矩陣的第(m,n)個元素。

沃爾什轉換的反轉換式為
f [ m ] = 1 N ∑ n = 0 N − 1 F [ n ] W [ m , n ] f[m]=\frac{1}{N} \sum_{n=0}^{N-1} F[n] W[m, n] f[m]=N1n=0N1F[n]W[m,n]

注意到正轉換式與反轉換式只差了一個常數,這是由於沃爾什轉換矩陣的反矩陣就是自己的轉置矩陣乘上一個常數的緣故。


沃爾什轉換矩陣的產生

2 k 2^{k} 2k點的沃爾什矩陣可以用下面的遞迴方式產生:起始值 k = 1 k=1 k=1(2點沃爾什轉換矩陣)

W 2 = ( 1 1 1 − 1 ) W_{2}=\left( \begin{array}{cc}{1} & {1} \\ {1} & {-1}\end{array}\right) W2=(1111)

Step 1 定義 V 2 k + 1 = ( W 2 k W 2 k W 2 k − W 2 k ) V_{2^{k+1}}=\left( \begin{array}{cc}{W_{2^{k}}} & {W_{2^{k}}} \\ {W_{2^{k}}} & {-W_{2^{k}}}\end{array}\right) V2k+1=(W2kW2kW2kW2k)

Step 2 根據變號次數(正負號改變次數)把 V 2 k + 1 V_{2^{k+1}} V2k+1的列(row)重新排列成為 W 2 k + 1 W_{2^{k+1}} W2k+1

4*4
W 4 = ( 1 1 1 1 1 − 1 1 − 1 1 1 − 1 − 1 1 − 1 − 1 1 ) W_{4}=\left( \begin{array}{cccc}{1} & {1} & {1} & {1} \\ {1} & {-1} & {1} & {-1} \\ {1} & {1} & {-1} & {-1} \\ {1} & {-1} & {-1} & {1}\end{array}\right) W4=1111111111111111

8*8

V 8 = ( W 4 W 4 W 4 − W 4 ) = ( 1 1 1 1 1 1 1 1 1 − 1 1 − 1 1 − 1 1 − 1 1 1 − 1 − 1 1 1 − 1 − 1 1 − 1 − 1 1 1 − 1 − 1 1 1 1 1 1 − 1 − 1 − 1 − 1 1 − 1 1 − 1 − 1 1 − 1 1 1 1 − 1 − 1 − 1 − 1 1 1 1 − 1 − 1 1 − 1 1 1 − 1 ) V_{8}=\left( \begin{array}{cc}{W_{4}} & {W_{4}} \\ {W_{4}} & {-W_{4}}\end{array}\right)=\left( \begin{array}{cccccccc}{1} & {1} & {1} & {1} & {1} & {1} & {1} & {1} \\ {1} & {-1} & {1} & {-1} & {1} & {-1} & {1} & {-1} \\ {1} & {1} & {-1} & {-1} & {1} & {1} & {-1} & {-1} \\ {1} & {-1} & {-1} & {1} & {1} & {-1} & {-1} & {1} \\ {1} & {1} & {1} & {1} & {-1} & {-1} & {-1} & {-1} \\ {1} & {-1} & {1} & {-1} & {-1} & {1} & {-1} & {1} \\ {1} & {1} & {-1} & {-1} & {-1} & {-1} & {1} & {1} \\ {1} & {-1} & {-1} & {1} & {-1} & {1} & {1} & {-1}\end{array}\right) V8=(W4W4W4W4)=1111111111111111111111111111111111111111111111111111111111111111

W 8 = ( 1 1 1 1 1 1 1 1 1 1 1 1 − 1 − 1 − 1 − 1 1 1 − 1 − 1 − 1 − 1 1 1 1 1 − 1 − 1 1 1 − 1 − 1 1 − 1 − 1 1 1 1 − 1 1 1 − 1 − 1 1 − 1 1 1 − 1 1 − 1 1 − 1 − 1 1 − 1 1 1 − 1 1 − 1 1 − 1 1 − 1 ) W_{8}=\left( \begin{array}{cccccccc}{1} & {1} & {1} & {1} & {1} & {1} & {1} & {1} \\ {1} & {1} & {1} & {1} & {-1} & {-1} & {-1} & {-1} \\ {1} & {1} & {-1} & {-1} & {-1} & {-1} & {1} & {1} \\ {1} & {1} & {-1} & {-1} & {1} & {1} & {-1} & {-1} \\ {1} & {-1} & {-1} & {1} & {1} & {1} & {-1} & {1} \\ {1} & {-1} & {-1} & {1} & {-1} & {1} & {1} & {-1} \\ {1} & {-1} & {1} & {-1} & {-1} & {1} & {-1} & {1} \\ {1} & {-1} & {1} & {-1} & {1} & {-1} & {1} & {-1}\end{array}\right) W8=1111111111111111111111111111111111111111111111111111111111111111


计算举例:

例子转自:压缩感知——沃尔什-哈达玛(WHT)变换与逆变换

f 1 = [ 1 3 3 1 1 3 3 1 1 3 3 1 1 3 3 1 ] f_{1}=\left[ \begin{array}{llll}{1} & {3} & {3} & {1} \\ {1} & {3} & {3} & {1} \\ {1} & {3} & {3} & {1} \\ {1} & {3} & {3} & {1}\end{array}\right] f1=1111333333331111

W 1 = 1 4 2 [ 1 1 1 1 1 − 1 1 − 1 1 1 1 − 1 1 − 1 − 1 1 ] [ 1 3 3 1 1 3 3 1 1 3 3 1 1 3 3 1 ] [ 1 1 1 1 1 − 1 1 − 1 1 1 − 1 − 1 1 − 1 − 1 1 ] = [ 2 0 0 − 1 0 0 0 0 0 0 0 0 0 0 0 0 ] W_{1}=\frac{1}{4^{2}} \left[ \begin{array}{cccc}{1} & {1} & {1} & {1} \\ {1} & {-1} & {1} & {-1} \\ {1} & {1} & {1} & {-1} \\ {1} & {-1} & {-1} & {1}\end{array}\right] \left[ \begin{array}{rrrr}{1} & {3} & {3} & {1} \\ {1} & {3} & {3} & {1} \\ {1} & {3} & {3} & {1} \\ {1} & {3} & {3} & {1}\end{array}\right] \left[ \begin{array}{cccc}{1} & {1} & {1} & {1} \\ {1} & {-1} & {1} & {-1} \\ {1} & {1} & {-1} & {-1} \\ {1} & {-1} & {-1} & {1}\end{array}\right]=\left[ \begin{array}{cccc}{2} & {0} & {0} & {-1} \\ {0} & {0} & {0} & {0} \\ {0} & {0} & {0} & {0} \\ {0} & {0} & {0} & {0}\end{array}\right] W1=421111111111111111111113333333311111111111111111111=2000000000001000

f 2 = [ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ] f_{2}=\left[ \begin{array}{cccc}{1} & {1} & {1} & {1} \\ {1} & {1} & {1} & {1} \\ {1} & {1} & {1} & {1} \\ {1} & {1} & {1} & {1}\end{array}\right] f2=1111111111111111

W 2 = 1 4 2 [ 1 1 1 1 1 − 1 1 − 1 1 1 − 1 − 1 1 − 1 − 1 1 ] [ 1 1 1 1 1 1 1 1 1 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 0 0 0 0 0 0 0 ] W_{2}=\frac{1}{4^{2}} \left[ \begin{array}{cccc}{1} & {1} & {1} & {1} \\ {1} & {-1} & {1} & {-1} \\ {1} & {1} & {-1} & {-1} \\ {1} & {-1} & {-1} & {1}\end{array}\right] \left[ \begin{array}{ccc}{1} & {1} & {1} \\ {1} & {1} & {1} \\ {1} & {1} & {1} \\ {1} & {1} & {1}\end{array}\right] \left[ \begin{array}{cccc}{1} & {1} & {1} & {1} \\ {1} & {-1} & {1} & {-1} \\ {1} & {1} & {-1} & {-1} \\ {1} & {-1} & {-1} & {1}\end{array}\right]=\left[ \begin{array}{llll}{1} & {0} & {0} & {0} \\ {0} & {0} & {0} & {0} \\ {0} & {0} & {0} & {0} \\ {0} & {0} & {0} & {0}\end{array}\right] W2=42111111111111111111111111111111111111111111111=1000000000000000

你可能感兴趣的:(计算机视觉)