【Processing】平均化フィルタで平滑化

スポンサーリンク

この記事では、Processing言語の平均化フィルタで画像を平滑化する方法をソースコード付きで解説します。

スポンサーリンク

平均化フィルタ

平均化フィルタは、周囲の画素値を足してその平均を求めて、中心の画素に設定することでぼかしを行います。
ぼかしを行う方法の中で最も簡単なのが、「平均化フィルタ(単純平滑化)」と呼ばれる処理方法です。
周囲の範囲を広げるほどぼかし効果も強くなりますが、その分計算時間も掛かってしまいます。
この記事では、Processingで周囲3×3=9画素の範囲で平均化フィルタ処理を行いました。

【処理手順】
①入力画像「test.png」を読み込む。(loadImage関数)
②入力画像を横に2枚貼れるサイズにに設定する。(size関数)
③出力画像用の配列を用意する。(サイズは入力画像と同じ) (createImag関数)
④入力画像をグレースケール変換する。(filter(GRAY))
⑤グレースケール変換した入力画像に対して平均化フィルタ処理をおこなう。(周囲9画素の画素値の平均値を計算)
⑥入力画像を画面左、出力画像を画面右に表示する。(image関数)

ソースコード

サンプルプログラムのソースコードは下記の通りです。

実行結果

サンプルプログラムの実行結果です。

左が入力画像、右が出力画像です。
比較してやると、ぼかし処理が効いていることがわかります。

【関連記事】
Processing入門 サンプル集

スポンサーリンク

シェア&フォローお願いします!