TrainPatMaxPattern

画像からパターンを抽出して登録し、検出するオブジェクトの登録済み (内部) 幾何学記述。FindPatMaxPatterns 関数で使用します。

TrainPatMaxPattern概要

PatMax® パターンは幾何図形特徴の集合です。ここで、各特徴は、ピクセル値が異なる 2 つの領域間の境界上の点です。TrainPatMaxPattern 関数でパターンを登録し、次に FindPatMaxPatterns 関数を使用して、画像内でそのパターンの 1 つ以上のインスタンスを検出します。PatMax は、マシンビジョンに利用可能なほかのパターン検出技術との差別化を図る、次の 3 つの重要な機能を提供します。

  • 外観が、回転、スケーリング、伸長された対象物の高速検出
  • 対象物のグレースケール値ではなく、形状に基づく検出技術
  • 非常に高い精度

PatMax がほかのパターン検出技術と異なる点は、回転またはスケーリングを効率的かつ高精度に行うことができないピクセルグリッド表現に基づいてはいないということです。その代わりに、PatMax では、パターンマッチングのための迅速かつ正確な変換が可能な特徴ベースの表現を使用します。

:  登録済みの PatMax パターンを含むセルをハイライトすると、そのパターンの特徴が表示されます。これにより、このパターンを保持している TrainPatMaxPattern のプロパティシートを表示せずに、登録されているパターンを参照できます。

TrainPatMaxPatternの入力パラメータ

Syntax:TrainPatMaxPattern(画像,フィクスチャ.行,フィクスチャ.列,フィクスチャ.角度,パターン領域.X,パターン領域.Y,パターン領域.高さ,パターン領域.幅,パターン領域.角度,パターン領域.カーブ,外部定義領域,パターン原点.行オフセット,パターン原点.列オフセット,パターン設定.アルゴリズム,パターン設定.融通性, パターン設定.極性を無視, パターン設定.感度, パターン設定.微粒度, パターン設定.粗粒度, 登録画像の再使用, タイムアウト,, 表示)

画像

画像データ構造体を含んだスプレッドシートセルを参照するように指定します。デフォルトでは、このパラメータは、AcquireImage 画像データ構造体を含むセル A0 を参照しています。また、このパラメータは、ビジョンツールのグラフィックス関数や、座標補正関数により返された、そのほかの画像データ構造体も参照できます。

フィクスチャ

フィクスチャ入力、またはビジョンツール関数の画像座標系の出力に関連する対象領域 (ROI) を定義します。フィクスチャに関連する ROI を設定すると、フィクスチャが回転または移動した場合に、フィクスチャに対応して ROI を確実に回転または移動できます。

デフォルト設定は画像の左上隅で、(0, 0, 0) になります。

行 (デフォルト = 0) 画像座標での行オフセット。
列n (デフォルト = 0) 画像座標での列オフセット
角度 (デフォルト = 0) 画像座標系での方位角

パターン領域

これは対象領域 (ROI) とも呼ばれ、解析の対象となる画像の領域を表します。変換および回転可能な矩形の画像領域を作成します。このパラメータを選択して、プロパティシートのツールバーにある [領域の最大化] ボタンを押すと、画像全体が対象になるように領域が自動的に拡張されます。

X フィクスチャ座標での原点の X オフセット
Y フィクスチャ座標での原点の Y オフセット
高さ 領域の X 軸に沿った寸法。
領域の Y 軸に沿った寸法。
角度 フィクスチャ座標での角度。
カーブ 領域の X 軸と反対側の境界線との間の角度変位。
:  [フィクスチャ] および [領域] パラメータは、画像の範囲内で定義されている必要があります。画像の範囲内で定義されていない場合、この関数は #ERR を返します。

外部定義領域

このパラメータは、AnnulusCircleRegionEditAnnulusEditCircleEditCompositeRegionEditPolygon、または EditRegion の各関数を含むスプレッドシートセルを参照できます。このパラメータを使用すると、関数は [領域] と [フィクスチャ] の設定を無視し、参照先領域で指定された画像領域を検査します。EditCompositeRegion 関数コントロールを参照している場合は、検査領域がさまざまな形状の混合となることがあります。合成領域内の各形状は、検査領域に対して加算または減算 (マスキング) されるように割り当てることができます。

:  
  • このパラメータが外部定義領域の参照として設定されている場合に、この関数の内部領域を使用するには、セル参照に値 0 を入力し、このパラメータを手動で 0 に設定する必要があります。それ以外の場合、この関数は引き続き外部定義領域を参照します。
  • 高い精度が要求されるアプリケーションで、FindPatMaxPatterns 関数が TrainPatMaxPattern 関数によって返されたパターンを検出するようにジョブを作成した時に、この 2 つの関数がサーチ・登録に異なる外部領域を使用する場合、1 ピクセル未満の誤差が報告されることがあります。ただし、どちらかの関数が角度やカーブのある外部領域を参照している場合、報告されるピクセルの誤差は 1 ピクセルより大きくなる可能性があります。ジョブを作成する際に、FindPatMaxPatterns および TrainPatMaxPattern 関数が同一の外部領域を参照してサーチ・登録するか、ツール内部の領域を使用してサーチ・登録するように設定してください。

パターン原点

登録パターンの原点の行および列を、登録領域の中心からのオフセットとして指定します。

行オフセット 登録パターンの中心からの行オフセットを指定します。
列オフセット 登録パターンの中心からの列オフセットを指定します。

パターン設定

パターンの登録のための設定を指定します。

アルゴリズム

パターンの登録に使用するアルゴリズムを指定します。

0 = PatMax (デフォルト) PatMax アルゴリズムは、PatQuick よりも高い精度を提供しますが、実行に要する時間はより長くなります。
1 = PatQuick PatQuick アルゴリズムは、PatMax よりも精度は劣りますが、実行に要する時間は短縮されます。

融通性

周囲長の偏差の量を指定します (0 ~ 10、デフォルト = 0)

0 = 許容しない
1 以上 = 柔軟な境界

極性を無視

登録パターンに対して、色が反転した一致特徴を含む一致を検出可能かどうかを指定します。

0 = OFF (デフォルト) 色が反転した特徴は一致しません。
1 = ON 色が反転した一致特徴を許容します。

感度

0 = 実装されていません

粗粒度

粗粒度をピクセル単位で指定します。粗粒度は、大きな特徴を検出して、画像内の大まかなパターン一致を実行時に迅速に検出するために使用されます (0 ~ 10、デフォルト = 0)

:  1.0 未満の値が指定された場合、[粗粒度] および [微粒度] の両方のパラメータ値が自動的に計算されます。

微粒度

微粒度をピクセル単位で指定します。微粒度は、小さな特徴を検出して、パターン位置を正確に判定するために使用されます (0 ~ 10、デフォルト = 0)

:  
  • 1.0 未満の値が指定された場合、[粗粒度] および [微粒度] の両方のパラメータ値が自動的に計算されます。
  • 微粒度の値を粗粒度の値よりも大きくすることはできません。
登録画像の再使用

パターンを登録するために使用した画像を保存し、[パターン設定] パラメータが変更されたときに使用するかどうかを指定します。

0 = OFF (デフォルト)

現在の画像 ([画像] パラメータに指定された画像) がパターンの登録/再登録に使用されます。

1 = ON

1 つ以上の [パターンの設定] パラメータが変更された場合は、パターンを登録するために最初に使用された画像が、パターンの再登録に使用されます。最初に有効にした場合は、[画像] パラメータによって識別された画像がパターンの登録に使用され、画像のコピーがジョブに保存されます。それより後の [パターンの設定] パラメータへの変更は、格納された画像を使用して実行されます。

:  
  • ロードしているジョブがリリース 4.4.1 より前の In-Sight Explorer ファームウェアで作成されている場合、この機能を使用するには、パターンを In-Sight Explorer ファームウェア 4.4.1 以降で再登録する必要があります。古いリリースの In-Sight Explorer で登録されたパターンでこのパラメータが有効になっている場合、関数は #ERR を返します。このパラメータを使用するには、パターンを再登録する必要があります。
  • このパラメータが有効なときに、[フィクスチャ] 入力パラメータが変更され、[パターン領域] (または、[外部定義領域]) が移動または変更されると、関数は入力画像内の登録領域を調整し、新しい画像を保存して、パターンを再登録します。
  • [登録画像の再使用e] パラメータが On (有効) に変わったが、パターンがまだ登録されていない場合、パラメータが Off (無効) になり新しいパターンが登録されるまで、関数は #ERR を返します。

タイムアウト

関数が有効なパターンをサーチする時間をミリ秒単位で指定します (0 ~ 30000)。この時間が経過すると、処理は中止され、#ERR が返されます。値を 0 に設定すると設定値が無効になり、タイムアウトは適用されません。

表示

画像上のグラフィックスの表示モードをTrainPatMaxPattern指定します。

0 = 非表示 関数を含んでいるセルがスプレッドシート内でハイライト表示されている場合を除き、TrainPatMaxPatternグラフィックスは何も表示されません。
1 = 結果のグラフィックスのみ 登録されたパターンの特徴が常に表示されます。
2 = 入力と結果のグラフィックス

入力画像領域、パターンの原点、および登録された特徴が常に表示されます。

:  登録された特徴の色 (緑、黄、赤) は、特徴の一致候補の品質を表しています。緑は品質が高いことを、赤は低いことを表します。すべての登録特徴が緑色になるまで粒度パラメータを調節する必要があります。または、より品質の高い画像を選択して、登録します。特徴 (エッジ) や画像コントラストがより明瞭であるほど高い結果が得られます。
3 = 全て表示: 入力、結果および登録画像 入力画像領域、パターンの原点、登録された特徴、および登録画像が常に表示されます。

TrainPatMaxPatternの出力

戻り値 登録されたパターンを含んでいるパターンデータ構造体。入力パラメータが無効であれば #ERR を返します。次の取り込みで新しいパターンを誤って登録することを避けるために、この関数はデフォルトで無効に設定されています。
結果

関数がTrainPatMaxPattern初めてセルに挿入されると、登録状態が右隣のセルに自動的に表示されます。パターンを登録できない場合は #ERR が挿入されます。

:  この関数のプロパティシートには、パターンを登録し易くするためのヒントとして、補助的な情報文字列が表示されます。表示される可能性のある情報文字列については、閉じたここをクリックしてください
  • パターンに含まれるマッチ特徴が少なすぎることがあります。
  • 特徴の粒度を自動的に設定するのは困難です。
  • 手動で [粒度] を設定してください。登録画像の表示がぼやけているので、パターンが予想より正確でないことがあります。
  • 疎粒度の特徴が同じ方向であるために、パターン結果が不安定になることがあります。
  • 高精度な特徴が多いため、実行時間が長くなることがあります。手動で [粒度] を設定してください。
  • パターンに含まれる情報が不十分なため、角度またはスケールを正確に測定できないことがあります。

スプレッドシートに情報文字列を挿入するには、GetInfoString データアクセス関数を使用します。

TrainPatMaxPatternデータアクセス関数

1 つのデータアクセス関数がスプレッドシートに自動挿入されます。

Trained GetTrained(パターン) パターンを登録できた場合には 1、登録できなかった場合には 0 を返します。