畳み込みカーネルは、グレースケール画像に適応する2次元フィルタを定義します。コンボリューションカーネルは、係数によってコンボリューションフィルタの特性を定義する2次元構造体です。標準のフィルタ処理では、コンボリューションカーネルの係数によってフィルタ処理後の画像内の各ピクセル値が決定されます。Visionは、さまざまなフィルタ処理を行うためにコンボリューションカーネルを提供しています。また、独自のコンボリューションカーネルを定義してカスタムフィルタを作成することもできます。

使用目的

グレースケール画像をフィルタ処理するには、コンボリューションカーネルを使用します。グレースケール画像をフィルタ処理すると、アプリケーションの必要条件に適合するように画像の品質が向上します。フィルタを使用して、画像を平滑化する、画像からノイズを除去する、画像内のエッジ情報を向上するなどの操作を行います。

概念

コンボリューションカーネルは、フィルタがグレースケール画像内のピクセル値をどのように変換するかを定義します。コンボリューションカーネルは、係数によって各ピクセルのフィルタ後の値を計算する2次元構造体です。ピクセルのフィルタ後の値は、ピクセルの元の値と近接ピクセルの値の加重された組み合わせによって決定されます。コンボリューションカーネルの係数は、更新中のピクセル値に対する各近接ピクセルの影響度を定義します。コンボリューションカーネルのサイズは、フィルタ処理中に考慮される値を含む近接ピクセルの数を決定します。

図Aに示すように、3 × 3のカーネルの場合、中央のピクセルの値(黒で表示)は8つの周囲の近接ピクセル(グレーで表示)の値から抽出されます。図Bに示すように、5 × 5のカーネルは24個の近接ピクセルを指定し、7 × 7のカーネルは48個の近接ピクセルを指定する、などとなります。

  1. カーネル
  2. 画像

画像に対してフィルタ処理を行う際は、カーネルを画像の左上隅のピクセルから右下隅のポイントに移動します。以下の図に示すように、画像内の各ピクセルでは、カーネルの下に配置された値を使用して新規値が計算されます。

画像の境界線上のピクセル(ピクセルの最初の行、最後の行、最初の列、または最後の列)のフィルタ処理された値を計算する場合、カーネルの一部分が画像の範囲外になります。たとえば、以下の図では、左上隅の値を計算する際、3 × 3の1行1列が画像の外にはみ出してしまいます。

  1. 輪郭
  2. 画像
  3. カーネル

Visionは、画像を作成する際、自動的に輪郭領域を割り当てます。デフォルトの縁領域は3ピクセルの深さで、0のピクセル値を含みます。また、カスタム境界領域を定義し、領域内のピクセル値を指定することもできます。縁領域のサイズは、カーネルの行または列数の半分以上である必要があります。画像縁のフィルタ処理の結果は、値を計算するために必要な近接ピクセルが存在しないため、確実ではありません。したがって、残りの画像に指定されたピクセル数よりも少ないピクセルに対して作用するフィルタの効率が低下します。縁領域の詳細については、デジタル画像のセクションを参照してください。