2017年2月17日 更新

シリーズ6.マクロ言語を使った画像処理の応用編~ノイズ軽減① 空間フィルタ処理~

【記事の目標】 画像を触ったことがない人を対象として、適切な画像解析を施すまでのImageJのマクロ言語を用いた学習過程を示す。 今回の記事から応用編としてさらに詳しく画像処理を学んでいきます。最初のテーマはノイズ軽減です。

8,582 view お気に入り 0

【Gaussian Blur】

ガウシアンフィルタは正規分布に従って中央のピクセルから近いピクセルの輝度値を優先的に用いるように重みづけをして画像の平滑化を行うフィルタです。
下記のような3x3のカーネルの場合、中央のピクセルは3、隣り合うピクセルは2、最も距離の遠い四隅のピクセルは1という重みをつけて計算します。
 (3197)

 (3198)

 (3199)

この計算処理を3x3の枠をずらしながらすべてのピクセルについて上記の計算を行い、輝度値を置き換えていく処理がガウシアンフィルタです。

※MeanとGaussian Blurは輝度値が小数点をとることがあるので処理を施したい画像を8bitから32bitに変換する必要があります。

【Median】

空間フィルタ処理のうち非線形フィルタに分類され、中央値フィルタとも呼ばれます。MeanやGaussian Blurのような畳み込みを行わないフィルタ処理で、指定した大きさの領域内のピクセルに対応する輝度値を大きさの順に並べたときの中央値を中心の輝度値と置き換える処理を行います。
 (3203)

赤枠内の輝度値を小さいほうから順に並べると、以下のようになります。
63, 72, 90, 91, 100, 112, 128, 150, 200
この場合の中央値は100なので赤枠内の中心の輝度値128は100に置き換えられます。

【ImageJにおけるフィルタ処理】

ImageJではカーネルを自分で指定することができます。
画像を開いてProcess→Filters→Convolveをクリックします。
 (3207)

3x3の平均値フィルタに使用するカーネルを設計するときは下記のように1を入力します。
 (3209)

48 件

関連する記事 こんな記事も人気です♪

シリーズ5.ImageJマクロ言語を用いた画像解析~マクロ言語のまとめ2~

シリーズ5.ImageJマクロ言語を用いた画像解析~マクロ言語のまとめ2~

【記事の目標】 画像を触ったことがない人を対象として、適切な画像解析を施すまでのImageJのマクロ言語を用いた学習過程を示す。 今回の記事ではImageJのユーザー定義関数について学んでいきます。
シリーズ4.ImageJマクロ言語を用いた画像解析~②二値化処理-3~

シリーズ4.ImageJマクロ言語を用いた画像解析~②二値化処理-3~

【記事の目標】 画像を触ったことがない人を対象として、適切な画像解析を施すまでのImageJのマクロ言語を用いた学習過程を示す。
ImageJ まとめ

ImageJ まとめ

「このページを見れば,ImageJ のこと全てが解決する」をモットーに,日々更新を行っています.
シリーズ5.ImageJマクロ言語を用いた画像解析~マクロ言語のまとめ~

シリーズ5.ImageJマクロ言語を用いた画像解析~マクロ言語のまとめ~

【記事の目標】 画像を触ったことがない人を対象として、適切な画像解析を施すまでのImageJのマクロ言語を用いた学習過程を示す。
画像処理におけるフーリエ変換④〜pythonによるフィルタ設計〜

画像処理におけるフーリエ変換④〜pythonによるフィルタ設計〜

画像処理におけるフーリエ変換の最終回として、pythonによるフィルタ設定についてご紹介します。

この記事のキーワード

この記事のキュレーター

エルピクセル編集部 エルピクセル編集部