TrainFlawModel
TrainFlawModel 関数は、取り込まれた画像との比較対象となる「ゴールデン」、つまり完全な部品/対象物のモデルを作成するために使用します。この関数は検査の対象を定義します。[領域]、または [外部定義領域またはパス] パラメータで設定される対象領域は、登録される画像の領域とともに、これを参照する DetectFlaw および FlexFlawModel 関数が検索を実行する場所を定義します。
画像取り込みごとに、そのときのフィクスチャの値に基づいて ROI が調整されます。ROI の座標および更新後の [スケール] の値は、この関数を参照しているすべての DetectFlaw または FlexFlawModel 関数に渡されます。TrainFlawModel はこのモデルを保持します。
TrainFlawModelの入力パラメータ
Syntax:TrainFlawModel(フィクスチャ.列,フィクスチャ.角度,領域.X,領域.Y,領域.高さ,領域.幅,領域.角度,領域.カーブ,外部領域またはパス,スケール,エッジマスクサイズ,最小エッジ強度,最小エッジ長,強制登録,表示解像度,エッジマーキング描画,表示画像,タイムアウト,表示)
このパラメータは、スプレッドシートで画像データ構造体を含むセルを参照する必要があります。デフォルトでは、このパラメータは、AcquireImage 画像データ構造体を含むセル A0 を参照しています。また、このパラメータは、ビジョンツールのグラフィックス関数によって返された、そのほかの画像データ構造体も参照できます。 注 :
|
|||||||||||||
フィクスチャ入力、またはビジョンツール関数の画像座標系の出力に関連する対象領域 (ROI) を定義します。フィクスチャに関連する ROI を設定すると、フィクスチャが回転または移動した場合に、フィクスチャに対応して ROI を確実に回転または移動できます。 デフォルト設定は画像の左上隅で、(0, 0, 0) になります。
|
|||||||||||||
これは対象領域 (ROI) とも呼ばれ、解析の対象となる画像の領域を表します。変換および回転可能な矩形の画像領域を作成します。このパラメータを選択して、プロパティシートのツールバーにある [領域の最大化] ボタンを押すと、画像全体が対象になるように領域が自動的に拡張されます。 注 : 別のビジョンツール関数またはオペレータ I/F 関数の出力に対する ROI を定義する場合は、セル参照を領域座標に設定する代わりに、[外部定義領域またはパス] パラメータを使用します。[外部定義領域またはパス] パラメータはフィクスチャの動きを正しく考慮しますが、セル参照は正しく機能しない可能性があり、フィクスチャの動きを参照する関数は #ERR を返すことがあります。
|
|||||||||||||
注 : [フィクスチャ] および [領域] パラメータは、画像の範囲内で定義されている必要があります。画像の範囲内で定義されていない場合、この関数は #ERR を返します。
|
|||||||||||||
このパラメータは、Annulus、Circle、Region、EditAnnulus、EditCircle、EditCompositeRegion、EditPolygon、または EditRegion の各関数を含むスプレッドシートセルを参照できます。このパラメータを使用すると、関数は [領域] と [フィクスチャ] の設定を無視し、参照先領域で指定された画像領域を検査します。EditCompositeRegion 関数コントロールを参照している場合は、検査領域がさまざまな形状の混合となることがあります。合成領域内の各形状は、検査領域に対して加算または減算 (マスキング) されるように割り当てることができます。 注 :
|
|||||||||||||
実行時に想定されるモデル部品/対象物のスケーリング後のサイズを登録モデルに対する割合 (%) で指定します (80 ~ 120、デフォルト = 100)。 注 : 例えば、[フィクスチャ] 値の入力に FindPatMaxPatterns 関数を使用している場合、TrainFlawModel 関数の [スケール] パラメータが、FindPatMaxPatterns 関数によって出力される [スケール] 値へのセル参照として設定されることがあります。
|
|||||||||||||
エッジのどのくらい近くまでマスク画像に構築されるか、その許容値を指定します (0 ~ 5、デフォルト = 0)。 |
|||||||||||||
エッジ全体について、モデルに取り込まれる輝度の最小変化値を指定します (10 ~ 255、デフォルト = 30)。 |
|||||||||||||
モデルに取り込まれる最短のエッジの長さを指定します (10 ~ 1000、デフォルト = 20)。これより短いエッジは、モデルから除外されます。この値は、エッジに接続されるエッジピクセル数の最小値を表します。このパラメータの設定値を大きくすると、検出されるエッジの数が少なくなりますが、小さくすると検出されるエッジの数が増えます。この設定は、通常短いエッジとして現れるノイズエッジピクセルの除去に有効です。 |
|||||||||||||
スプレッドシートが更新されたときに、モデルを自動的に再登録するかどうかを指定します。 [強制登録] パラメータに関係なく、この関数のプロパティシートを開いて次のパラメータの変更を行い、[OK] ボタンを押して確認すると、モデルは再登録されます。
ランタイム操作中、次のいずれの操作が行われた場合、モデルは再登録されます。
|
|||||||||||||
表示解像度 |
モデル画像とエッジモデルの表示に使用する解像度を指定します。[中程度] または [粗粒度] を指定すると、画像はダウンサンプリングされ、細部やノイズは除去されます。
|
||||||||||||
エッジマーキング描画 |
モデルのエッジを画像上に描画するかどうかを指定します。登録されているエッジは緑色で、マスクされたエッジは青色で描画されます。
|
||||||||||||
表示画像 |
表示する出力画像を指定します。 注 : この画像は表示のためにのみ使用されます。別の関数への入力として使用することはできません。
|
||||||||||||
タイムアウト (ミリ秒) | この関数が有効なモデルを検索する時間をミリ秒単位で指定します (0 ~ 30000、デフォルト = 5000)。指定された時間が経過すると、実行は停止し、#ERR が返されます。値を 0 に設定すると設定値が無効になり、タイムアウトは適用されません。 | ||||||||||||
画像上の TrainFlawModel グラフィックスオーバレイの表示モードを指定します。登録モデルのピクセルと一致するピクセルは緑色で表示されます。一致しないピクセルは黄色になります。マスク画像から欠落しているピクセルは青色、マスク画像内の余分なピクセルは濃いマゼンタ色で表示されます。また、余分なエッジの欠陥はマゼンタ色、欠落しているエッジや面積欠陥ピクセルは赤色で表示されます。
|
TrainFlawModelの出力
戻り値 | 各解像度で表されたモデル画像、エッジモデル画像、およびマスク画像が入った TrainFlawModel データ構造体。入力パラメータのいずれかが無効である場合は #ERR が返されます。 |
結果 | TrainFlawModel 関数が初めてセルに挿入されると、登録状態が右隣のセルに自動的に表示されます。モデルを登録できない場合は #ERR が挿入されます。 |
TrainFlawModelデータアクセス関数
1 つのデータアクセス関数がスプレッドシートに自動挿入されます。
登録 | GetTrained(傷モデルの登録) | モデルを登録できた場合には 1、登録できなかった場合には 0 を返します。 |