Main Content

空間領域でのイメージのフィルター処理とは

フィルター処理は、イメージを変更させたり、強調させたりする技術です。たとえば、イメージをフィルター処理して、ある特徴を強調したり、取り除いたりします。フィルター処理を使用して実現するイメージ処理演算には、平滑化、先鋭化、エッジの強調も含まれます。

フィルター処理は "近傍演算" です。すなわち、出力イメージ内の特定の 1 つのピクセルの値は、対応する入力ピクセルの近傍内にあるピクセルの値にアルゴリズムを適用することにより求められます。ピクセルの近傍は、ピクセルに関連したある位置によって定義されるピクセルの集合です (近傍演算の一般的な説明は、近傍処理またはブロック処理: 概要を参照してください)。"線形フィルター処理" は、出力ピクセルの値が、入力ピクセルの近傍のピクセル値の線形結合になるフィルター処理です。

畳み込み

イメージの線形フィルター処理は、"畳み込み" と呼ばれる演算を通して行われます。畳み込みは、各出力ピクセルが、近傍の入力ピクセルの重み付き和となる近傍演算です。重み行列は、"畳み込みカーネル" と呼ばれます。これは、"フィルター" としても知られています。畳み込みカーネルは、相関カーネルを 180 度回転させたものです。

たとえば、イメージが以下の場合、

A = [17  24   1   8  15
     23   5   7  14  16
      4   6  13  20  22
     10  12  19  21   3
     11  18  25   2   9]

相関カーネルは以下のようになります。

h = [8   1   6
     3   5   7
     4   9   2]

位置 (2, 4) の出力ピクセルを計算する場合、以下の手順を使用します。

  1. 相関カーネルを、その中心要素に対して 180 度回転して畳み込みカーネルを作成します。

  2. 畳み込みカーネルの中心要素をスライドし、A の (2, 4) 要素の最上部に配置します。

  3. 回転した畳み込みカーネルの中の各重みを、その下に位置する A のピクセルに乗算します。

  4. 手順 3 の個々の積を加算します。

出力 (2, 4) ピクセルは、以下のようになります。

以下の図は、この計算を示しています。

畳み込み出力 (2, 4) の計算

A grid of pixels displaying the pixel values. The 3-by-3 pixel neighborhood around the (2, 4) element is highlighted in gray, indicating the position of the convolution kernel. For pixels in the neighborhood, the grid also displays the weights of the convolution kernel, which is equal to the rotated matrix h.

相関

"相関" と呼ばれる演算は、畳み込みと非常に関係があります。相関では、出力ピクセルの値は、近傍のピクセルの重み付き和として計算されます。両者の違いは、"相関カーネル" と呼ばれる重み行列で、計算中に回転を行いません。Image Processing Toolbox™ フィルター設計関数は、相関カーネルを返します。

次の図は、h を畳み込みカーネルの代わりに相関カーネルと仮定し、次の手順を使用して、A の相関の出力 (2, 4) ピクセルを計算する方法を示しています。

  1. 相関カーネルの中心要素をスライドし、A の (2, 4) 要素の最上部に配置します。

  2. 相関カーネルの中の各重みを、その下に位置する A のピクセルに乗算します。

  3. 個々の積を加算します。

相関結果の出力 (2, 4) ピクセルは、次のようになります。

相関出力 (2, 4) の計算

A grid of pixels displaying the pixel values. The 3-by-3 pixel neighborhood around the (2, 4) element is highlighted in gray, indicating the position of the convolution kernel. For pixels in the neighborhood, the grid also displays the weights of the convolution kernel, which is equal to the matrix h defined above.

参考

| |

関連するトピック