†DaubechiesのWaveletはHaarを拡張したもので、D2の時はHaarの基底と同じ。D4、D6、D8...と長めのフィルターがある。プログラムするときはすでに係数を計算してあるのを用意して使う。D20くらいまではWebで検索すると見つけられるようです。分解と再構築で同じ係数を使う。D2の時はともかく端のところで折り返さないとならないので、そのへんが微妙に不安な気がする...。小学校で担任だった先生に激似。h(0)φ(2t-3)を満たすよう最初にφ(0)~φ(3)の4点の値を求め、順次分割して計算していく方法。分割の処理はそんなに難しくないけど分割前の一番最初のtが整数の時のφ(t)を求めるのが難しいです。N=3以上の時の解き方がまだ全然わかりません。N=3の時は6次の代数方程式を解く(解けない)ことになるのでは・・・?N=3以上のプロットとかをWebで見かけるけど近似計算しているのか何か別の計算方法があるのか謎。解きかたがわかりました。-+このような行列の固有ベクトルを求めればφ(t)のtが整数の場合の値を求めることができる。固有ベクトルの計算は全然わからないのでめんどくさいのでMuPADを使って事前に計算して、既に書いてあったTclのプログラムに食わせて分割処理。分割はtを2倍した一個上の解像度の値を元に計算できるので、順次解像度を上げながらループさせればOK(?)。h(3)φ(2t+2)で簡単に求めることができる。†Mallat変換とかピラミッドアルゴリズムとか呼ばれる方法は分離された差分には手をつけないで、縮小画像に再びウェーブレット変換していくという方法で計算量がO(NlogN)になる。高速ウェーブレット変換(FWT)などとも呼ばれているような気がしないでもないが、FWTはO(N)で計算できるとか書いているページもあったりしてなんだか用語が曖昧でよくわかりません。画像へWavelet変換を適用する場合、縦横と折りたたむように変換する。次の画像は自作の変換プログラムでHaarのWavelet変換をレベル-2まで適用してみた例。†こんなんでいいのかね・・・。gnuplotで描画できるデータを出力します。あとタップ係数と、事前に計算した固有ベクトルのファイルが別に必要です。ソースを読んでください。練習を兼ねてTclで書いてみた検証用テストプログラム。D4をレベル-1だけ分解と再構築することができます。変換するリストは4の倍数でなければなりません。