2017年2月17日 更新

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

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

9,232 view お気に入り 0
顕微鏡で撮影した原画像には染色むらや背景のノイズが含まれています。これらのノイズを軽減させ除去するために以下のような画像処理があります。
 (3181)

今回の記事では空間フィルタ処理について原理とImageJでの操作方法を説明します。

【空間フィルタ処理】

(2n+1)×(2n+1)のカーネルと呼ばれる小さな画像を定義し、処理を施したい画像の各ピクセルに対応する輝度値と掛け合わせの計算を行い、計算結果を中心の新しい輝度値としてもとの輝度値と置き換える処理のことです。この計算処理を畳み込みといいます。
 (3185)

〇カーネル ※四角の中の数字はフィルタの種類によって変わります。

空間フィルタ処理には線形フィルタと非線形フィルタの2種類があります。
線形フィルタとは畳み込み演算を行う処理のことで、Mean(平均化フィルタ)とGaussian Blur(ガウシアンフィルタ)があります。

【Mean】

例 下記のような画像があり3x3のカーネルと赤枠で囲んだ領域の輝度値から計算された平均値で中央の輝度値128を置き換えることを考えます。
 (3191)

 (3190)

この場合の計算は以下のようになります。
 (3193)

上記のようになり、3x3の□の中の中央の輝度値128が111.777778に置き換えられます。
この計算処理を3x3の枠をずらしながらすべてのピクセルについて行い、平均値で輝度値を置き換えていく処理がMeanです。
画像の一番外側のピクセルについては3x3の枠を当てはめたときに計算に必要なピクセルが足りなくなってしまいますが、これは外側のピクセルを複製することによって解決することがあります。(詳しくは次回の記事で説明します。)
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によるフィルタ設定についてご紹介します。

この記事のキーワード

この記事のキュレーター

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