# Filter

各ピクセルが入力画像または指定した対象領域 (ROI) で行った画像強調操作の結果である出力画像を生成します。

## Filter の概要

Filter は多目的関数であり、低コントラスト画像や画像内の特徴を強調するのに使用される画像を生成します。この関数は、検出したい特徴を強調したり、不要な特徴を最小限に減らしたりするのに有効です。効果的に使用することによって、検査アプリケーションの信頼性と再現性を高めることができます。

Filter 関数では、さまざまな種類のローカルおよびグローバルの画像強調操作を使用することができます。画像強調操作は、[フィルタタイプ] を選択して定義します。

### Filter 関数の使用方法

Filter 関数の設定では、画像の強調に使用するフィルタタイプを選択して、画像強調操作を指定します。

1. 最初に、画像をロードします。Filter 関数をスプレッドシートに挿入し、強調する画像領域を囲むように領域を調整します。領域の設定時には、強調する必要のある画像の領域のみを囲むようにします。強調する必要がない領域を含めると、画像強調操作の適用方法と関数の実行時間の両方に影響します。
2. 次に、適切なフィルタタイプを選択します。選択したフィルタタイプに応じて追加パラメータが有効になり、この操作の適用方法をさらに定義できます。必要な画像強調エフェクトが得られるように、有効になったパラメータを調整します。

注:

- 強調を必要とする画像領域に動きがある場合、フィクスチャを使用して、指定した領域が画像領域の動きに応じて移動することを確認してください。
- 関数を設定したら、追加の画像をロードし、必要に応じてパラメータを調整して、画像の範囲全体に画像強調操作が正しく適用されていることを確認してください。

## Filter の入力

パラメータ | 説明
画像 | このパラメータは、画像データ構造体を含むスプレッドシートセルのセル参照を使用する必要があります。デフォルトでは、このパラメータは、 関数によって返された画像データ構造体を含むセル A0 を参照しています。また、このパラメータは、ビジョンツールの画像フィルタ関数によって返された、その他の画像データ構造体も参照できます。
フィクスチャ | Fixture入力、またはビジョンツール関数の画像座標系の出力に関連する対象領域 (ROI) を定義します。フィクスチャに関連する ROI を設定すると、フィクスチャが回転または移動した場合に、フィクスチャに対応して ROI を確実に回転または移動できます。 デフォルト設定は画像の左上隅で、(0, 0, 0) になります。
X | 画像座標での X オフセット。
Y | 画像座標での Y オフセット。
角度 | 画像座標系での画像の X 軸からの回転 (時計回り +/-360 度)。
領域 | これは対象領域 (ROI) とも呼ばれ、解析の対象となる画像の領域を表します。[領域] パラメータをダブルクリックすると、変換と回転が可能な対話型グラフィックスモードを作成できます。このパラメータを選択して、プロパティシートの [ジョブの編集] ツールバーにある [領域の最大化] ボタンを押すと、画像全体が対象になるように領域が自動的に拡張されます。
X | フィクスチャ座標での原点の X オフセット
Y | フィクスチャ座標での原点の Y オフセット
幅 | 領域の X 軸に沿った寸法
高さ | 領域の Y 軸に沿った寸法
角度 | フィクスチャ座標での角度
注: [フィクスチャ] および [領域] パラメータは、画像の範囲内で定義されている必要があります。画像の範囲内で定義されていない場合、この関数は #ERR を返します。
外部定義領域 | オペレータ I/F 関数データ構造体を含むスプレッドシートセルへのセル参照を指定します。このパラメータを使用すると、関数は [領域] と [フィクスチャ] の設定を無視し、参照先領域に指定された画像領域を検査します。 注: このパラメータが外部定義領域の参照として設定されている場合に、この関数の内部領域を使用するには、セル参照に値 0 を入力し、このパラメータを手動で 0 に設定する必要があります。それ以外の場合、この関数は引き続き外部定義領域を参照します。
フィルタタイプ | 実行する画像強調操作のタイプを指定します。結果は、グレースケール出力画像で表示されます。
0 = 2 値化 (デフォルト) | 各入力ピクセルをしきい値レベルと比較し、出力ピクセルが白か黒かを判定する白黒 (2 値化) しきい値操作を指定します。[しきい値] パラメータ値以上の入力ピクセル値は白に、しきい値を下回る値は黒になります。 注: カラー入力画像を使用すると、出力画像はグレースケール画像になります。
1 = ボトムハット | 「ボトムハット」フィルタ処理操作を指定します。この操作は、カーネル近傍のサイズより小さい暗い特徴以外をすべて除去します。結果は、これらの暗い特徴が明るいピクセルで表示され、背景が暗く表示された出力画像になります。 注: この操作により、[カーネル行] パラメータと [カーネル列] パラメータが有効になります。カーネルは、奇数の整数で構成されている必要があります。
2 = クリップ | 「クリッピング」操作を指定します。この操作は、出力画像の特徴がより均一になるように、グレースケールスペクトルの両端を除去します。この操作は、各入力ピクセルのグレースケール値を [最小] および [最大] パラメータ値と比較します。 入力ピクセル値が最小値または最大値と同じか、これらを超えている場合、出力ピクセルにはそれぞれ最小値または最大値が割り当てられます (「クリッピング」されます)。 入力ピクセル値が最小値と最大値の間である場合、出力ピクセルには入力ピクセルの値が割り当てられます。
3 = クローズ | 「クロージング」操作を指定します。この操作はダイレーションの後にエロージョンを実行し、カーネル近傍のサイズより小さい暗い特徴を除去します。画像をクロージングすることで、画像の暗い領域を減らしたり、完全に削除したりすることができます。 注: この操作により、[カーネル行] パラメータと [カーネル列] パラメータが有効になります。カーネルは、奇数の整数で構成されている必要があります。
4 = 膨張 | 「ダイレーション」操作を指定します。この操作は、画像の明るい特徴を強調して、暗い特徴を抑制します。結果は、明るいピクセルがより大きな領域を占める出力画像になります。暗い斑点の除去に有効です。 注: この操作により、[カーネル行] パラメータと [カーネル列] パラメータが有効になります。カーネルは、奇数の整数で構成されている必要があります。
5 = エッジ強度 | 入力画像のダイレーションとエロージョンの差を表示する操作を指定します。結果は、エッジが明るいピクセルで表示された出力画像になります。この操作は、より複雑な対角線方向のエッジを表現できますが、より時間がかかります。 注: この操作により、[カーネル行] パラメータと [カーネル列] パラメータが有効になります。カーネルは、奇数の整数で構成されている必要があります。
6 = 等化 | ヒストグラム平坦化操作を指定します。この操作は、入力画像のヒストグラムを抽出し、最も多いグレースケール値を広げて、分布をより均一にします。結果は、コントラストが強められた出力画像となります。このフィルタタイプは、照明が画像ごとにわずかに異なる環境や、検査対象物の一部の外観がわずかに異なる場合に役立ちます。
7 = 収縮 | 「エロージョン」操作を指定します。この操作は、画像の明るい特徴を減らします。結果は、暗いピクセルがより大きな領域を占める出力画像になります。明るい斑点、ノイズピクセル、小さな欠陥などを除去するのに役立ちます。 注: この操作により、[カーネル行] パラメータと [カーネル列] パラメータが有効になります。カーネルは、奇数の整数で構成されている必要があります。
8 = 黒穴塗りつぶし | 明るいピクセルで囲まれた暗いピクセルを明るいピクセルに変換する「ピクセル塗りつぶし」操作を指定します。結果は、暗い穴が埋められた出力画像になります。
9 = 白穴塗りつぶし | 暗いピクセルで囲まれた明るいピクセルを暗いピクセルに変換する「ピクセル塗りつぶし」操作を指定します。結果は、明るい穴が埋められた出力画像になります。
10 = 勾配 全方向 | 「垂直方向および水平方向の傾斜」操作を指定します。結果は、垂直方向および水平方向のエッジを明るいピクセルで表した出力画像になります。この操作は、エッジ強度に似ていますが、より簡易で (処理が早く)、対角線方向のエッジは表現しません。
11 = 勾配 水平方向 | 「水平方向の傾斜」操作を指定します。結果は、水平方向のエッジを明るいピクセルで表した出力画像になります。
12 = 勾配 垂直方向 | 「垂直方向の傾斜」操作を指定します。結果は、垂直方向のエッジを明るいピクセルで表した出力画像になります。
13 = グレースケール距離 | 各出力ピクセルのグレースケール値を、各入力ピクセルのグレースケール値としきい値レベルの差として指定します (例えば、入力ピクセル値が 100 で、しきい値が 25 の場合、出力ピクセルは 75 となります)。これは、[しきい値] パラメータによって決まります。
14 = ハイパス | 「ハイパス」操作を指定します。結果は、むらのないグレースケール勾配を持つ領域に対し、相対的にエッジが強調された出力画像となります。このフィルタタイプは、微細な特徴を強調するのに有効です。 注: この操作により、[カーネル行] パラメータと [カーネル列] パラメータが有効になります。カーネルは、奇数の整数で構成されている必要があります。
15 = 反転 | 256 階調のグレースケールに基づいてピクセル値の反転を指定します。出力画像は、入力画像の「ネガ」になります (例えば、入力ピクセル値 10 を反転すると、出力ピクセル値は 245 になります)。
17 = ローカル中央値 | カーネル近傍のピクセル値の中央値を計算し、その結果を出力画像ピクセル値として使用する操作を指定します。 注: この操作により、[カーネル行] パラメータと [カーネル列] パラメータが有効になります。カーネルは、奇数の整数で構成されている必要があります。
18 = 正規化したローカル中央値 | 画像から背景を減算する方法を指定します。この操作は、入力画像から入力画像のローカル中央値を減算し、結果を 1 つ右にシフトしてから 128 を加算して出力ピクセル値を生成します。 注: この操作により、[カーネル行] パラメータと [カーネル列] パラメータが有効になります。カーネルは、奇数の整数で構成されている必要があります。
19 = ローパス | 「ローパス」操作を指定します。結果は、エッジが平滑化された (ぼやけた) 出力画像になります。 注: この操作により、[カーネル行] パラメータと [カーネル列] パラメータが有効になります。カーネルは、奇数の整数で構成されている必要があります。
20 = 最大 (トップハット/ボトムハット) | トップハット操作とボトムハット操作の最大数を使用する操作を指定します。 注: この操作により、[カーネル行] パラメータと [カーネル列] パラメータが有効になります。カーネルは、奇数の整数で構成されている必要があります。
21 = オープン | 「オープニング」操作を指定します。この操作はエロージョンの後にダイレーションを実行し、カーネル近傍のサイズより小さい明るい特徴を除去します。出力画像では、全体の輝度がわずかに低くなり、少量の明るいピクセルが除去され、残りの明るい特徴が強調されます。 注: この操作により、[カーネル行] パラメータと [カーネル列] パラメータが有効になります。カーネルは、奇数の整数で構成されている必要があります。
22 = 光密度 | ピクセル値の反転を対数で指定します。 出力ピクセル値 = 100 × log (255) - 100 × log (入力ピクセル値) 結果は、入力画像中の対象物や特徴を通過する光の量を測定することでそれらの密度を求める出力画像です。対象物と特徴の密度が高いほど、出力画像ではより明るいピクセルで表示されます。
23 = シャープ | エッジの強調に使用する「シャープネス」操作を指定します。この操作は、隣接するピクセル間のコントラストを評価し、コントラストが高い場合はコントラストを大きくします。隣接するピクセルのコントラスト差が大きい場合、通常はエッジを表しますが、この操作をエッジの検出に使用しないでください。この操作の効果は、画像の内容と解像度によって異なります。 [低スムーズネス] パラメータと [高スムーズネス] パラメータを使用して、ガウスカーネルを作成し、エッジを識別します。2 つのパラメータで定義した範囲に、強調する特徴のサイズが含まれるように設定します。デフォルトで [低スムーズネス] パラメータは 0 に設定されているため、任意のサイズの特徴のエッジが均等に強調されます。 [スムーズネス] パラメータを使用して、ガウスカーネルを作成し、エッジを識別します。 [ゲイン] パラメータはシャープネスの強度を決定します。[しきい値] パラメータを使用して、ノイズを低減し、シャープ化時にピクセル間の一定量の差を無視して、少し陰影のある領域がシャープになりすぎないようにフィルタを指定します。
24 = 引き伸ばし | グレースケールの引き伸ばし操作を指定します。この操作は、入力画像のグレースケール値を ([最小] および [最大] パラメータの設定に基づいて) 256 段調のグレースケール全体に線形に「スケールアップ」または「引き伸ばし」、出力画像のコントラストを強めます。入力ピクセル値が最小値または最大値と等しいか、これらを超えると、出力ピクセルにそれぞれ 0 または 255 が割り当てられます。入力ピクセル値が最小値と最大値の範囲内である場合、それらは 0 ～ 255 の範囲に線形に引き伸ばされます。例えば、[最小] が 50、[最大] が 180 の場合、この操作は各ピクセルの明度から 50 を減算し、範囲を 0 ～ 130 にします。次に、各ピクセルの明度に 255/130 を掛けて、0 ～ 255 の範囲を作成します。
25 = しきい値範囲 | 白黒 (「2 値化」) しきい値操作を指定します。この操作は、各入力ピクセルを 2 つのしきい値 ([最小] と [最大]) と比較し、出力ピクセルが背景か前景かを判定します。入力ピクセル値が最小値と最大値の間であれば、出力ピクセルはその値を保持します。それ以外の場合、出力ピクセルは背景レベルに設定されます。 注: 最小値が最大値より大きい場合、背景が反転します。
26 = トップハット | 「トップハット」フィルタ処理操作を指定します。この操作は、カーネル近傍のサイズより小さい明るい特徴以外のすべてを除去します。結果は、これらの明るい特徴が明るいピクセルで表示され、それ以外の背景が暗く表示された出力画像になります。 注: この操作により、[カーネル行] パラメータと [カーネル列] パラメータが有効になります。カーネルは、奇数の整数で構成されている必要があります。
カーネル行 | カーネル行数 (1 ～ 25、デフォルト ⁼ 3) を指定します。カーネルとは、画像内の各ピクセル位置で実行される操作の処理近傍を定義する数値の矩形配列です。ピクセルの近傍グレースケール値は、出力画像上のピクセル位置のグレースケール値を定義します。 注: カーネルは非加重です。 カーネルは、奇数の整数で構成されている必要があります。通常、カーネルは 3 × 3 ですが、そのサイズは任意です。 このパラメータは、[フィルタタイプ] が次のいずれかに設定されている場合に有効です。 ボトムハット クローズ 膨張 エッジ強度 収縮 収縮 - 膨張 ハイパス 正規化したローカル平均値 ローカル中央値 正規化したローカル中央値 ローパス 最大 (トップハット/ボトムハット) オープン トップハット
カーネル列 | カーネル列数 (1 ～ 25、デフォルト ⁼ 3) を指定します。カーネルとは、画像内の各ピクセル位置で実行される操作の処理近傍を定義する数値の矩形配列です。ピクセルの近傍グレースケール値は、出力画像上のピクセル位置のグレースケール値を定義します。 注: カーネルは非加重です。 カーネルは、奇数の整数で構成されている必要があります。通常、カーネルは 3 × 3 ですが、そのサイズは任意です。 このパラメータは、[フィルタタイプ] が次のいずれかに設定されている場合に有効です。 ボトムハット クローズ 膨張 エッジ強度 収縮 収縮 - 膨張 ハイパス 正規化したローカル平均値 ローカル中央値 正規化したローカル中央値 ローパス 最大 (トップハット/ボトムハット) オープン トップハット
自動しきい値 | [ファイルタイプ] を [2 値化]、[グレースケール距離]、または [しきい値範囲] に設定した場合に、しきい値レベルを自動的に決定するかどうかを指定します。 注: デフォルトでは、このパラメータは有効になっています。[しきい値] パラメータを使用する場合は、このパラメータを無効にします。 このパラメータが有効になっているときに [フィルタ] を [2値化] に設定すると、指定領域内のグレースケール値に基づいて、しきい値レベルが自動的に計算されます。 このパラメータが有効になっているときに [フィルタタイプ] を [グレースケール距離] に設定すると、指定領域内の平均グレースケール値基づいて、しきい値が自動的に計算されます。 このパラメータが有効になっているときに [フィルタタイプ] を [しきい値範囲] に設定すると、自動的に次の設定が適用されます。 ピクセル値が [最小] パラメータ設定より小さい場合、またはピクセル値が [最大] パラメータ設定より大きい場合、ピクセル値は背景に設定されます。 ピクセル値が [最小] および [最大] パラメータ設定の範囲内にある場合、ピクセル値は前景に設定されます。
しきい値 | [ファイルタイプ] を [2 値化]、[グレースケール距離]、[シャープ] または [しきい値範囲] に設定した場合に、しきい値レベルを設定します (0 ～ 255、デフォルト = 128)。 注: デフォルトでは、[自動しきい値] パラメータが有効になっています。このパラメータを有効にするには、[自動しきい値] を無効にします。 [フィルタタイプ] を [シャープ] に設定した場合、このパラメータはノイズ低減設定として使用され、シャープ化時にピクセル間の一定量の差を無視して、少し陰影のある領域がシャープになりすぎないように関数を指定します。
最小 | [フィルタタイプ] を [クリップ]、[引き伸ばし]、または [しきい値範囲] に設定した場合に、最小グレースケール値を指定します (0 ～255、デフォルト = 128)。
最大 | [フィルタタイプ] を [クリップ]、[引き伸ばし]、または [しきい値範囲] に設定した場合に、最大グレースケール値を指定します (0 ～255、デフォルト = 128)。
ゲイン | [フィルタタイプ] を [シャープ] に設定した場合に、ゲイン値を指定します (0 ～ 10、デフォルト = 1)。このパラメータは、エッジコントラストの強度を制御することによって、実行されるシャープ化の強度を決定します。エッジの周囲のピクセルはその最小値または最大値に基づいて、エッジをよりシャープにします。
スムーズネス | [フィルタタイプ] を [シャープ] に設定した場合に、ガウスカーネルのスムーズネス値を指定します (1 ～ 4、デフォルト = 1)。スムーズネスは、ガウスカーネルの標準偏差を制御します。スムーズネス値を大きくすると、スムーズ操作の「絞り」が広くなり、特徴がシャープになります。 注: ガウスとは、釣鐘型の曲線を指し、ROI 内のピクセルに加重平均を適用します。
表示 | 画像の上に表示するグラフィックスオーバーレイを指定します。
0 = 非表示 (デフォルト) | Filter 関数を含んでいるセルがスプレッドシート上でハイライトされている場合を除き、入力画像領域は表示されません。
1 = 結果のグラフィックスのみ | 処理された画像が常に表示されます。
2 = 入力のグラフィックスのみ | 入力画像領域が常に表示されます。

## Filter の出力

戻り値 | 処理済みの画像を含んでいる画像データ構造体。入力パラメータが無効であれば #ERR を返します。 注: 画像データ構造体に含まれている処理済みの画像領域の内容は、ジョブとともに保存されません。 この関数の戻り値の追加情報については、画像データアクセス関数関数のトピックを参照してください。