画像処理画像処理
モーションブラーフィルタ; Motion Blur Filter

概要
モーションブラーフィルタは平滑フィルタの一つで、画像を特定方向にぼかすことができる。
空間フィルタについてはこちらを参照のこと。

重み
ぼかし方向が単位ベクトル\(\boldsymbol{s} =(s_x, s_y)^T\)であるときモーションブラーフィルタにおける重み\(w_{i j}\)は以下で与えられる。
フィルタサイズが大きいほど単位ベクトル方向の平滑が大きくなり、\(\sigma \)が大きいほど単位ベクトルに直交する方向の平滑が大きくなる。

\(\quad \displaystyle w_{i j} = exp \left( -\frac{ (i s_y - j s_x)^2}{2 \sigma} \right) \)
モーションブラー

結果

pepper
pepper_motionblur

ソースコード

GraphicRGB src_graph, dst_graph;

ImageIO.Read(out src_graph, "graph/pepper.png");

double sx = 0.6, sy = 0.8;

FilterAverage filter = new FilterAverage(5, (x, y) => Math.Exp(-(x * sy - y * sx) * (x * sy - y * sx) / 2));
dst_graph = Filtering.SmoothFiltering(src_graph, filter);
ImageIO.Write(dst_graph, "graph/pepper_motionblur.png");

関連項目
RGB空間
RGBグラフィックおよびその入出力
フィルタ
グレースケール
ガウシアンフィルタ
バイラテラルフィルタ
微分フィルタ
ソーベルフィルタ
鮮鋭化フィルタ

ライブラリライブラリ
確率統計確率統計
線形代数線形代数
幾何学幾何学
最適化最適化
微分方程式微分方程式
画像処理画像処理
補間補間
機械学習機械学習
クラスタリングクラスタリング
パズルゲーム・パズル
未分類未分類