# InspectEdgeTrainBeadPath

InspectEdgeTrainBeadPath 関数は、エッジを基準とするビード特徴の中心を検出するために使用され、検出されたビードパスをトレースしたポリラインを作成します。このツールで作成されたポリラインパスを、InspectEdgeWidth 関数など、その他の InspectEdge 関数で入力として使用して、ビードに位置的な欠陥、幅の欠陥、またはギャップがないかどうかを判断することができます。

## InspectEdgeTrainBeadPath の概要

ビードパスは連続するエッジのペアで、異なるピクセル値を持つ 2 つの領域間の境界を定義します (このパスは必ずしもループではありません)。一般に、ビードパスはインクや糊のついている部分や溶接の継ぎ目のことで、その幅や厚み、および位置によって定義されます。InspectEdgeTrainBeadPath 関数を、ほかの InspectEdge 関数とともに使用して、画像ごとにビードパスが異なる場合のビードの追跡アプリケーションで適用したり、ビードパスが常に同じ位置にあるかどうかの検証を行ったりすることができます。

ビードの追跡アプリケーションでは、InspectEdgeTrainBeadPath 関数を InspectEdge 関数の 1 つや InspectEdgeWidth 関数とともに使用して、ビードパスが濃くも薄くもなく、常に一定のパターンで配置されていることを検証できます。これらの関数はビードに沿ったパスを定義するマルチセグメントラインを作成し、濃すぎたり、薄すぎたりする領域や、欠落した領域がビードパスにないかどうかを判断します。

位置を基準にしたビード追跡アプリケーションでは、同じ関数を使用して、ビードパスが常に同じ場所に同じ濃度で存在するかどうか、パスに位置のばらつきはないかどうかを検証することができます。

注: どちらのアプリケーションで使用する場合でも、InspectEdgeTrainBeadPath 関数を InspectEdge 関数の [外部定義領域またはパス] パラメータへの入力として使用する必要があります。また、InspectEdgeWidth 関数は、InspectEdge のパラメータで、InspectEdge 関数が出力した検査データ構造体を参照する必要があります。

## InspectEdgeTrainBeadPath の入力

パラメータ | 説明
画像 | このパラメータは、スプレッドシートで画像データ構造体を含むセルを参照する必要があります。デフォルトでは、このパラメータは、データ構造体を含むセル A0 を参照しています。また、このパラメータは、画像データアクセス関数や、座標補正関数により返された、その他の画像データ構造体も参照できます。
フィクスチャ | Fixture入力、またはビジョンツール関数の画像座標系の出力に関連する対象領域 (ROI) を定義します。フィクスチャに関連する ROI を設定すると、フィクスチャが回転または移動した場合に、フィクスチャに対応して ROI を確実に回転または移動できます。 デフォルト設定は画像の左上隅で、(0, 0, 0) になります。
X (デフォルト = 0) | 画像座標での X オフセット。
Y (デフォルト = 0) | 画像座標での Y オフセット。
角度 (デフォルト = 0) | 画像座標系での画像の X 軸からの回転 (時計回り +/-360 度)。
領域 | これは対象領域 (ROI) とも呼ばれ、エッジ解析の対象となる画像の領域を表します。変換および回転可能な矩形領域対話型グラフィックスモードを作成します。このパラメータを選択して、プロパティシートのツールバーにある [領域の最大化] ボタンを押すと、画像全体が対象になるように領域が自動的に拡張されます。黄色の点線は、エッジを検出する方向を示しています。
X | フィクスチャ座標での原点の X オフセット
Y | フィクスチャ座標での原点の Y オフセット
幅 | 領域の X 軸に沿った寸法
高さ | 領域の Y 軸に沿った寸法
角度 | フィクスチャ座標での角度
カーブ | 領域の X 軸と反対側の境界線との間の角度変位
注: [フィクスチャ] および [領域] パラメータは、画像の範囲内で定義されている必要があります。画像の範囲内で定義されていない場合、この関数は #ERR を返します。
外部定義領域またはパス | Annulus、Region、EditAnnulus、EditMaskedRegion、EditPolylinePathまたは EditRegionを含むスプレッドシートセルへのセル参照を指定します。このパラメータを使用すると、関数は [領域] と [フィクスチャ] の設定を無視し、参照先領域に指定された画像領域を検査します。. 注: このパラメータが外部定義領域の参照として設定されている場合に、この関数の内部領域を使用するには、セル参照に値 0 を入力し、このパラメータを手動で 0 に設定する必要があります。それ以外の場合、この関数は引き続き外部定義領域を参照します。 このパラメータが EditPolylinePath を参照している場合、関数を InspectEdgeForDefect 関数 関数または InspectEdgePosition 関数の参照として使用することはできず、使用すると #ERR を返します。
キャリパ | 検出可能な欠陥やギャップのサイズを定義するために使用する ROI 内のキャリパ配列を指定します。検出可能な欠陥またはギャップのサイズは、検出可能なエッジ数によって決定されますが、その数はエッジ上に位置するキャリパ数によって決定されます。InspectEdge セルがハイライトされているか、[表示] パラメータが [すべて表示] に設定されている場合、キャリパは ROI 内で赤い矩形として表示され、キャリパ内で検出されたエッジは緑色で表示されます。 注: 検査する欠陥のタイプに応じて、キャリパをオーバラップして配置することができます。ただし、ROI に適用されるキャリパ数が増えるほど、関数の実行時間は長くなります。
高さ | 検査方向に沿って解析されるキャリパあたりのピクセル数を指定します。有効な範囲は、1 から In-Sight ビジョンシステムの画像の幅までです。デフォルト値は 5 です。
繰り返しオフセット値 | 各キャリパの開始間のピクセル数を指定します。有効な範囲は、0 から In-Sight ビジョンシステムの画像の幅までです。デフォルト値は 5 です。[全キャリパに適合] が有効な場合を除き、最後のキャリパは領域の終わりにオーバラップすることがあります。
初期オフセット値 | 領域内の最初のキャリパのオフセットを指定します。有効な範囲は、0 から In-Sight ビジョンシステムの画像の幅までです。デフォルト値は 0 です。
最小コントラスト | エッジとみなされるグレースケールコントラストの最小変化値を指定します (0 ～ 255、デフォルト = 5)。インデックスで指定されたキャリパごとに、エッジのレスポンスチャートが画像とともに表示されます。グラフ内の値は、0 ～ 100 の値に自動的にスケール変更されます。このパラメータの適用時にこのグラフを使用すると、値を適切に調整できます。 例 - グラフの [最小コントラスト] パラメータ 注: エッジのレスポンスチャートは、ドッキング可能なウィンドウです。詳細については、「スプレッドシートエディタ – チャート」のトピックを参照してください。
エッジ幅 | エッジ変化が起きるピクセル距離を指定します (1 ～ 領域の幅、デフォルト = 3)。この設定値は、エッジが抽出される前のグレースケールプロジェクションのフィルタ処理に使用されるピクセル演算子の大まかなサイズです。この設定値を使用して、画像からノイズをフィルタします。
全キャリパに適合 | すべてのキャリパを ROI 内に配置するかどうかを指定します。
0 = OFF (デフォルト) | 関数が [キャリパ繰り返しオフセット値] パラメータおよび [初期オフセット値] パラメータに厳密に従うように指定します。この場合、キャリパが ROI を覆ってしまうことがあります。
1 = ON | ROI 内にすべてのキャリパを確実に配置するために、関数が [キャリパ繰り返しオフセット値] パラメータおよび [初期オフセット値] パラメータを自動的に再計算するように指定します。
エッジ方向の検出 | エッジを検出する方向を指定します。エッジを検出する方向をグラフィックス表示するために、暗い緑の矢印が追加されます。最適ラインには、画像内にグラフィックス表示でラベルが付けられます。最初の最適ラインには 0、2 番目の最適ラインには 1 が付けられます。
0 = 左→右 | ROI の左から右に向かってエッジを検出します。 例
1 = 右→左 | ROI の右から左に向かってエッジを検出します。 例
3 = 内→外 (デフォルト) | ROI の中心から ROI の上の境界および下の境界に向かってエッジを検出します (検出されたエッジの順序は、ROI の「X」矢印とは反対の方向の順になります)。 例
2 = 外→内 | ROI の上下の境界から ROI の中心に向かってエッジを検出します (検出されたエッジの順序は、ROI の「X」矢印とは反対の方向の順になります)。 例
第 1エッジ | [エッジ方向の検出] パラメータに従って、検出された最初のエッジのコントラスト変化を指定します。
1 = 黒→白 | エッジは、黒ピクセルから白ピクセルに変化します。
2 = 白→黒 (デフォルト) | エッジは、白ピクセルから黒ピクセルに変化します。
3 = 任意 | エッジは、黒→白または白→黒のいずれかに変化します。関数によって適切な変化が決定されます。変化を指定すると、関数のパフォーマンスが向上します。
第 2エッジ | [エッジ方向の検出] パラメータに従って、検出された 2 番目のエッジのコントラスト変化を指定します。
1 = 黒→白 (デフォルト) | エッジは、黒ピクセルから白ピクセルに変化します。
2 = 白→黒 | エッジは、白ピクセルから黒ピクセルに変化します。
3 = 任意 | エッジは、黒→白または白→黒のいずれかに変化します。関数によって適切な変化が決定されます。変化を指定すると、関数のパフォーマンスが向上します。
エッジ得点 | 指定した基準をエッジが満たすかどうかを判別するために使用する、エッジ得点モードを指定します。
得点しきい値 | 得点付けのしきい値を指定します。この値 (1 ～ 100、デフォルト = 10) より小さい得点のエッジはフィルタで除去されます。
エッジ規則 | 得点を計算するときに最も重要になるエッジのタイプを指定します。
1 = 最初のエッジ | 検出された最初のエッジに注目します。
2 = エッジ強度 | 最強のコントラスト変化を持つエッジに注目します。
3 = 最初のエッジ/エッジ強度 | 最初に検出され、最強のコントラスト変化を持つエッジに注目します。
4 = エッジペアサイズ | [ペアサイズ] パラメータに最も近いサイズで検出されたエッジペアに注目します。
5 = 最初のエッジ/エッジペアサイズ | [ペアサイズ] パラメータに最も近いサイズで検出された最初のエッジペアに注目します。
6 = エッジ強度/エッジペアサイズ | 最強のコントラスト変化を持ち、[ペアサイズ] パラメータに最も近いサイズで検出されたエッジペアに注目します。
7 = 最初のエッジ/エッジ強度/エッジペアサイズ (デフォルト) | 最強のコントラスト変化を持ち、[ペアサイズ] パラメータに最も近いサイズで検出された最初のエッジペアに注目します。
コントラスト上限 | エッジとみなすエッジコントラスト変化の上限 (2 ～ 255、デフォルト = 255) を指定します。この値を超えるエッジコントラスト変化を持つエッジの得点は、すべて同じ最高得点になります。 注: このパラメータを有効にするには、[エッジ規則] パラメータを、[エッジ強度]、[最初のエッジ/エッジ強度]、[エッジ強度/エッジペアサイズ]、[最初のエッジ/エッジ強度/エッジペアサイズ] のいずれかに設定しておく必要があります。
ペアサイズ | 最高得点のエッジペアサイズを指定します (有効な範囲は、In-Sight ビジョンシステムの画像幅の 1 ～ 3 倍。デフォルト = 5)。このパラメータが有効な場合、この値の上下で検出されたエッジペアはこの値に比例して得点付けされます。例えば、[ペアサイズ] が 10 に設定されており、値が 8 と 14 の 2 つのエッジペア候補が検出された場合は、値 8 のエッジペアが選択されます。これは、2 番目のエッジペアより [ペアサイズ] に近いためです。 注: このパラメータを有効にするには、[エッジペアの検査] パラメータを ON にし、[エッジ規則] パラメータを [エッジペアサイズ]、[最初に検出されたエッジペアサイズ]、[エッジ強度/エッジペアサイズ]、または [最初のエッジ/エッジ強度/エッジペアサイズ] のいずれかに設定しておく必要があります。
学習 | ツールの学習モードを指定します。
0 = OFF | この関数が学習を行わないように指定します。
1 = ON (デフォルト) | この関数が学習を行うように指定します。
キャリパグラフインデックス | 画像上に表示するキャリパを指定します (キャリパは緑色に囲まれて表示されます)。デフォルトで表示されるキャリパは 0 です。
表示 | 画像上の InspectEdge グラフィックスオーバレイの表示モードを指定します。
0 = 非表示 (デフォルト) | InspectEdgeTrainBeadPath 関数を含んでいるセルがスプレッドシート内でハイライトされている場合を除き、すべてのグラフィックスが表示されません。
1 = 結果のグラフィックスのみ | 学習済みの EditPolylinePath 関数および検出されたエッジペアポイントグラフが常に表示されます。
2 = 結果グラフィックスとキャリパ詳細の表示。 | 学習済みの EditPolylinePath 関数と 1 つのキャリパがエッジ候補とともに常に表示され、さらに、キャリパグラフが常に表示されます。
3 = 結果グラフィックス、キャリパ詳細およびエッジ候補を表示します。 | 学習済みの EditPolylinePath 関数と 1 つのキャリパがエッジ候補とともに常に表示され、さらに、キャリパグラフとすべてのキャリパのエッジ候補すべてが常に表示されます。
4 = 結果グラフィックス、すべてのエッジ候補およびキャリパを表示します。 | 学習済みの EditPolylinePath 関数と 1 つのキャリパがエッジ候補とともに常に表示され、さらに、キャリパグラフ、すべてのキャリパのエッジ候補すべて、およびキャリパすべてが常に表示されます。
5 = すべて表示: 入力、結果、およびキャリパ | 入力グラフィックス、学習済みの EditPolylinePath 関数、1 つのキャリパがエッジ候補とともに常に表示され、さらに、キャリパグラフ、すべてのキャリパのエッジ候補すべて、およびキャリパすべてが常に表示されます。

## InspectEdgeTrainBeadPath の出力

戻り値 | 画像内で検出されたエッジとキャリパ数を含む検査データ構造体。入力パラメータが無効であれば #ERR を返します。
結果 | ROI 内のキャリパの数。