画像処理におけるWaveletフィルタの原理や計算式についてまとめました。
Waveletフィルタとは
Waveletフィルタは、ウェーブレット変換を用いたフィルタの1つです。信号データを時間と周波数の両方の情報を保持したまま分解するのに使用されます。ウェーブレット(波小片)と呼ばれる基底関数を用いて信号を変換することから、Waveletという名前がついています。
離散ウェーブレット変換(DWT)と連続ウェーブレット変換(CWT)の二つがあります。
- 離散ウェーブレット変換(DWT)
- DWTは、信号を異なるスケールと位置に分解するために、スケーリング関数とウェーブレット関数を用います。
- 信号の階層的な分解が可能で、異なる解像度で信号を分析できます。
- 連続ウェーブレット変換(CWT)
- CWTは、連続的なスケールと位置に渡って信号を分析します。
- 非常に詳細な時間-周波数情報が得られますが、計算量が多くなります。
Waveletフィルタの計算方法
Waveletフィルタの基本的な数式は、信号 $ f(t) $ をウェーブレット基底関数 $ \psi(t) $ とそのスケーリング関数 $ \phi(t) $ を用いて分解します。
$$ f(t) = \sum_{j,k} c_{j,k} \psi_{j,k}(t) + \sum_{j,k} d_{j,k} \phi_{j,k}(t) $$
ここで、 $$ c_{j,k} $$ はスケーリング係数、$$ d_{j,k} $$ はウェーブレット係数です。
関連ページ
プログラミングによる実装例について以下ページで解説しています。

【Python/OpenCV】バイラテラルフィルタ(Bilateral Filter)でノイズ除去
Python版OpenCVでバイラテラルフィルタ(Bilateral Filter)を実装し、画像のノイズを除去する方法をソースコード付きで解説します。

【画像処理超入門】アルゴリズムの仕組みと実装方法を簡単に解説
画像処理超アルゴリズムの仕組みとプログラミングによる実装方法を簡単に解説します。
コメント