2019年4月2日 更新

ディジタル画像処理~pythonによる空間フィルタリングpart1~ 

ディジタル画像処理を解説します.今回は,代表的な空間フィルタリングをpythonで実行してみました。

13,487 view お気に入り 2

今回は空間フィルタリングのpart1ということで、pythonを用いて平滑化フィルタエッジ抽出フィルタを設計してみます。平滑化フィルタは、画像内のノイズを除去し、ぼかしの効果を与えるのに有効です。また、エッジ抽出フィルタは画像内の輪郭線のみを取り出すことができます。入力画像には様々なノイズ、歪みが含まれるため、こういったフィルタを用いて、人間の目でも見やすい画像をつくることができます

空間フィルタリングと畳み込み演算

空間フィルタリングとは、画像の任意の座標$(i,j)$における画素$f(i,j)$に対しフィルタの重み$h(m,n)$を用いて

\begin{align} G[i,j] = \sum_{n=-W}^{W} \sum_{m=-W}^{W} F[i+m,j+n] H[m,n] \end{align}

の演算を行い、$g(i,j)$ を座標$(i,j)$の新しい画素として置き換えるような処理です。このように、画像の画素値とフィルタの重みを用いて積和する演算を畳み込み演算と呼びます。

また、フィルタの重みである$h(m,n)$の値を変化させることで、様々な空間フィルタリングを行うことができま す。

空間フィルタリングの種類

空間フィルタリングにも様々な種類があり、フィルタの重みによって画像を鮮明にしたり、逆にぼかしたり、または画像内のある特性のみ取り出したり、画像に凹凸をつけたりすることもできます。

今回はその中から以下の2つの空間フィルタリングを取り上げます。

1. 平滑化フィルタ

平滑化フィルタは、画像全体にぼかしの効果を与え、結果的に画像内のノイズを除去するようなフィルタです。これには、平均化フィルタ、モーションフィルタ、ガウシアンフィルタなどが存在しますが、今回は平均化フィルタについて取り扱います。

平均化フィルタを用いた時の画像の変化

平均化フィルタを用いた時の画像の変化

2. エッジ抽出フィルタ

エッジ抽出フィルタは文字どおり画像内の輪郭線のみを取り出すフィルタです。

エッジ抽出フィルタを用いた画像の変化

エッジ抽出フィルタを用いた画像の変化

空間フィルタリングの実行

まず、pythonのライブラリにあるOpenCVとMatplotlibをインポートします。

36 件

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

ImageJ Plugin で数値計算をしてみる #5

ImageJ Plugin で数値計算をしてみる #5

非情報科学研究者 (特に生物系研究者) が ImageJ plugin を作るために超えるべき壁やTipsをまとめます。今回は、面積の平均値や中央値、分散を出力するためのコードをご紹介します。
湖城 恵 | 10,027 view
Extracting Straight Lines〜画像から境界線を効率よく求める方法〜

Extracting Straight Lines〜画像から境界線を効率よく求める方法〜

本記事では,IEEE Transactions on Pattern Analysis and Machine Intelligence に投稿された,「Extracting Straight Lines」の論文を説明し,実装を行います.1986年に投稿された少し古めの論文ですが,アイディアは非常に面白いです.
Morphology (モルフォロジー) 変換の実装 ~ Python + OpenCV ~

Morphology (モルフォロジー) 変換の実装 ~ Python + OpenCV ~

画像処理の一つ,モルフォロジー変換をPython と OpenCVのライブラリを用いて実装し,それを2値画像に対して適用します.
Julia と画像処理②〜画像のセグメンテーション(Seed Region Growing とFelzenszwalbアルゴリズム)〜

Julia と画像処理②〜画像のセグメンテーション(Seed Region Growing とFelzenszwalbアルゴリズム)〜

プログラミング言語「julia」を用いて画像処理を行います.インストールに続き,今回は画像のセグメンテーションのライブラリを用いて,セグメンテーションを行います.
等角写像による画像の変換〜Schwarz-Christoffel 変換〜part 2

等角写像による画像の変換〜Schwarz-Christoffel 変換〜part 2

前回の記事「等角写像による画像の変換〜Schwarz-Christoffel 変換〜part 1」の続きです. 実際に実装をして,写像を確かめてみます.

この記事のキーワード

この記事のキュレーター

亀谷 桃子 亀谷 桃子