# FindPatMaxRedLine

学習されたパターンに基づいて、画像内の対象物を検出します。(検出対象物の形状を幾何学に表現したもの。) FindPatMaxRedLine 関数は Patterns 構造体から学習されたパターンに基づいて、画像内のパターンを検出します。

## FindPatMaxRedLine の入力

パラメータ | 説明
画像 | This parameter must reference a spreadsheet cell that contains an 画像 data structure; by default, this parameter references A0, the cell containing the data structure. This parameter can also reference other Image data structures, such as those returned by the 画像Vision Data Access functions or 座標補正関数.
フィクスチャ | Fixture入力、またはビジョンツール関数の画像座標系の出力に関連するサーチ領域を定義します。フィクスチャに関連する ROI を設定すると、フィクスチャが回転または移動した場合に、フィクスチャに対応して ROI を確実に回転または移動できます。 デフォルト設定は画像の左上隅で、(0, 0, 0) になります。
X (デフォルト = 0) | 画像座標での X オフセット。
Y (デフォルト = 0) | 画像座標での Y オフセット。
角度 (デフォルト = 0) | 画像座標系での画像の X 軸からの回転 (時計回り +/-360 度)。
サーチ領域 | これは対象領域 (ROI) とも呼ばれ、解析の対象となる画像の領域を表します。[領域] パラメータをダブルクリックすると、変換と回転が可能な対話型グラフィックスモードを作成できます。このパラメータを選択して、プロパティシートの [ジョブの編集] ツールバーにある [領域の最大化] ボタンを押すと、画像全体が対象になるように領域が自動的に拡張されます。
X | フィクスチャ座標での原点の X オフセット
Y | フィクスチャ座標での原点の Y オフセット
幅 (デフォルト = 320) | 領域の X 軸に沿った寸法。
高さ (デフォルト = 440) | 領域の Y 軸に沿った寸法。
角度 (デフォルト = 0) | フィクスチャ座標での角度
カーブ (デフォルト = 0) | 領域の X 軸と反対側の境界線との間の角度変位
外部定義領域 | このパラメータでは、Annulus、Circle、Region、EditAnnulus、EditCircle、EditCompositeRegion、EditPolygon、またはEditRegion の各関数を含むスプレッドシートセルのセル参照を使用します。このパラメータを使用すると、関数は [領域] と [フィクスチャ] の設定を無視し、参照先領域に指定された画像領域を検査します。EditCompositeRegion 関数コントロールを参照している場合は、検査領域がさまざまな形状の混合となることがあります。合成領域内の各形状は、検査領域に対して加算または減算 (マスキング) されるように割り当てることができます。 注 : このパラメータが外部定義領域の参照として設定されている場合に、この関数の内部領域を使用するには、セル参照に値 0 を入力し、このパラメータを手動で 0 に設定する必要があります。それ以外の場合、この関数は引き続き外部定義領域を参照します。
パターン | この引数は、TrainPatMaxRedLine 関数によって返される有効な Patterns データ構造体を含むスプレッドシートセルを参照している必要があります。
検出する数 | 返される一致したパターンの最大数を指定します (1 ～ 1000、デフォルト = 1)。
アクセプトしきい値 | 有効なインスタンスの最も低い得点である、アクセプトしきい値を指定します。一致する可能性がある得点は、アクセプトしきい値よりも大きな値である必要があります。得点がアクセプトしきい値よりも大きな値でない場合は、その一致した得点は返されません (0 ～ 100、デフォルト = 50)。
極性を無視 | 学習パターンに対して、色が反転した一致特徴を含む一致を検出可能かどうかを指定します。
0 = OFF (デフォルト) | 色が反転した特徴は一致しません。
1 = ON | 逆の極性で一致するエッジを考慮します。
極性を無視すると、PatMax が検出するパターンの種類が増えます。下記の図は、極性が一致している例と一致していない例を示しています。極性を無視するように PatMaxRedLine を設定すると、図に示されているすべてのパターンが検出されます。極性を考慮するように PatMaxRedLine を設定すると、下の行のパターンが検出されない場合や、検出されても上の行のパターンより低い得点を割り当てられる場合があります。
精度モード | 精度/信頼性と実行速度の間のトレードオフを指定します。
0 = 低 | 精度/信頼性が低くなり、実行速度が速くなるように指定します。
1 = 高 (デフォルト) | 精度/信頼性が高くなり、実行速度が遅くなるように指定します。
クラッタ | 欠落している、またはふさがれているパターン特徴によって、レスポンス得点が減少するかどうかを指定します。
0 = OFF (デフォルト) | クラッタの影響を得点に含めません。
1 = ON | クラッタの影響を得点に含めます。
コントラストしきい値 | 有効なインスタンスの最も低いコントラストを指定します。一致する可能性があるコントラストは、コントラストしきい値よりも大きな値である必要があります。コントラストがコントラストしきい値よりも大きな値でない場合は、その一致したインスタンスは考慮されません (0 ～ 100、デフォルト = 0)。FindPatMaxRedLine では、登録パターン内の特徴とサーチ画像内のマッチする特徴との間のコントラスト差をパーセンテージで表した、「相対」コントラストが報告されます。よって、特徴のコントラストがパターンコントラストと同じまたはより高い場合、報告されるコントラストは ~100 となります。特徴のコントラストがパターンコントラストより低い場合、報告されるコントラストは <100 となります。 注 : FindPatMaxRedLine のコントラストは FindPatMaxPatterns のコントラストとは異なります。FindPatMaxPatterns では、サーチ ROI 内の「絶対」画像コントラストがグレースケール値で報告されます。
許容値 | 学習されたパターンに対して回転またはスケーリングされたパターンを検出するための設定を指定します。 注 : [許容値] はハードリミットです。つまり、指定した [許容値] の検出外で検出された結果は、スプレッドシートには返されません。
開始角度 | 一致度のサーチを開始する角度を、反時計回りの度の単位で指定します (-180 ～ 180、デフォルト = -15)。
終了角度 | 一致度のサーチを停止する角度を、反時計回りの度の単位で指定します (-180 ～ 180、デフォルト = 15)。
開始スケール | 一致度のサーチを開始するスケールを指定します (1 ～ 10000、デフォルト = 100)。
終了スケール | 一致度のサーチを停止するスケールを指定します (1 ～ 10000、デフォルト = 100)。
XY オーバラップ | おおよそ同じ X、Y 位置にある、複数のオーバーラップしているパターン間の予想される位置の差を、学習されたパターンのサイズの割合 (%) で指定します (0 ～ 100、デフォルト = 70)。 注 : この値を高くすることによって、同じパターンが複数している一致部分を検出することができます。
詳細設定 |
粗粒度パーセンテージの使用 | 粗粒度サーチフェーズで [粗粒度アクセプトパーセンテージ] の値を使用するよう設定するかどうかを指定します。 注 : ほとんどの場合、この設定を有効にする必要はありません。
0 = OFF (デフォルト) | 粗粒度サーチフェーズで [アクセプトしきい値] の値のみが使用されます ([粗粒度アクセプトパーセンテージ] の値は無視されます)。
1 = ON | [粗粒度アクセプトパーセンテージ] パラメータを有効にして [アクセプトしきい値] の値からの偏差をパーセンテージで指定し、これを粗粒度サーチフェーズで使用します。
粗粒度アクセプトパーセンテージ | [アクセプトしきい値] の値からの偏差をパーセンテージで設定し、これを粗粒度サーチフェーズで使用します (0 ～ 100、デフォルト = 60)。[アクセプトしきい値] の値でインスタンスを効果的に絞り込めず、この関数が一致を返さないか、または返される一致が多すぎる場合に、このパラメータが有用です。 [粗粒度アクセプトパーセンテージ] の機能 FindPatMaxRedLine 関数は、最初に大きな特徴を使用して実行時の画像内で大まかなパターン一致を検出し (粗粒度サーチフェーズ)、次に小さな特徴を使用してパターンの位置を正確に判定します (微粒度サーチフェーズ)。両方のフェーズで、[アクセプトしきい値] の値を使用して検出されたインスタンスを絞り込みます。 正常フロー ([粗粒度パーセンテージの使用] = オフ) めったにないことですが、粗粒度サーチフェーズで低い得点のインスタンスしか検出されなかったために、FindPatMaxRedLine 関数が一致を返さないことがあります。この場合には、[アクセプトしきい値] の設定値を低くできますが、[アクセプトしきい値] の値を低くすると、返される一致が多すぎることがあります。 一致を返さない、または返される一致が多すぎる ([粗粒度パーセンテージの使用] = オフ) このような場合は、[粗粒度アクセプトパーセンテージ] 設定でアクセプトしきい値を粗粒度サーチフェーズ用に定義することができます。各サーチフェーズで異なるアクセプトしきい値を使用することによって、想定される結果が返されるようにすることができます。 想定される結果を返す ([粗粒度パーセンテージの使用] = オン)
タイムアウト | この関数によるパターンのサーチ時間をミリ秒単位で指定します (0 ～ 30000、デフォルト = 5000)。指定された時間が経過すると、実行は停止し、#ERR が返されます。値を 0 に設定すると設定値が無効になり、タイムアウトは適用されません。
表示 | 画像上のグラフィックスオーバレイの表示モードを指定します。
0 = 非表示 (デフォルト) | FindPatMaxRedLineを含むセルがスプレッドシート内のアクティブセルである場合を除き、すべてのグラフィックスが表示されません。
1 = 結果のグラフィックスのみ | 検出された各パターンに対して十字マークが常に表示されます。
2 = 入力と結果のグラフィックス | 入力画像領域と検出された各パターンに対する十字マークは両方とも常に表示されます。
3 = 全て表示: (パターンの特徴を含む) | 入力画像領域、検出された各パターンに対する十字マーク、および PatMax RedLine 一致特徴が常に表示されます。

## FindPatMaxRedLine の出力

戻り値 | 得点によってソートされたモデルとパターンレスポンスのリストを含む Patterns データ構造体。入力パラメータが無効であれば #ERR を返します。 注 : 学習されたパターンが見つからなくても、FindPatMaxRedLine は #ERR を返しません。この場合、一致するパターンがない場合に 0 を返す パターンVision Data Access functions GetNFound(パターン) を使用します。
結果 | FindPatMaxRedLine 関数を初めてセルに挿入すると、次のパターンVision Data Access functionsを使用してスプレッドシート内に結果テーブルが生成されます。
ラベル | 関数 | 説明
X | GetX(パターン, インデックス) | パターン位置の X 座標。
Y | GetY(パターン, インデックス) | パターン位置の Y 座標。
角度 | GetAngle(パターン, インデックス) | パターン位置の角度。
スケール | GetScale(パターン, インデックス) | 学習モデルと比較したパターンのサイズ (モデルサイズのパーセントで表示)
得点 | GetScore(パターン, インデックス) | パターンのレスポンス得点。