FindPatterns

FindPatterns 関数は 2 つの関数で構成されています。1 つはエリアベースまたはエッジベースのモデルパターンを抽出し、もう 1 つは、登録モデルを使ってサーチを実行します。

この関数によって登録する場合も検出する場合も、実行は、どのパラメータを更新したかによって決まります。どのモデルパラメータを更新してもモデルが返されます。画像、フィクスチャ、検索領域、またはほかのサーチパラメータを更新しても関数がサーチを開始します。

ヒント :  新しいモデルを誤って登録することを避けるには、2 つの個別の FindPatterns 関数を挿入します。1 つの関数はモデルの登録に使用し、無効にしておきます。もう 1 つの関数はパターンパラメータで最初の関数を参照してサーチします。

FindPatternsの入力パラメータ

Syntax:FindPatterns(画像 ,フィクスチャ.行 ,フィクスチャ.列 ,フィクスチャ.角度 ,モデル領域.X ,モデル領域.Y ,モデル領域.高さ ,モデル領域.幅 ,モデル領域.角度 ,モデル設定.モデルタイプ ,モデル設定.粗さ ,モデル設定.精度 ,モデル設定.行オフセット ,モデル設定.列オフセット ,モデル設定.登録を強制 ,モデル設定.パターン ,サーチ領域.X ,サーチ領域.Y, サーチ領域.高さ ,サーチ領域.幅 ,サーチ領域.角度 ,検出する数 ,角度範囲 ,スケール許容 ,しきい値: アクセプト ,しきい値: コンフューズ ,タイムアウト ,表示)

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

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

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

画像座標での行オフセット。
画像座標での列オフセット
角度 画像座標系での方位角
モデル領域

モデルパターンの抽出に使用される矩形の画像領域を指定します。

X フィクスチャ座標での原点の X オフセット
Y フィクスチャ座標での原点の Y オフセット
高さ 領域の X 軸に沿った寸法。
領域の Y 軸に沿った寸法。
角度 フィクスチャ座標での角度。
モデル設定

モデル登録パラメータを指定します。

モデルタイプ

エリアモデルまたはエッジモデル登録を指定します。

 

0 = エリアモデル エリアモデル登録は、モデル領域からのグレースケールピクセル値の均一サンプリングに基づいてパターンを作成します。エリアモデルの類似性測定基準は、正規化されたグレースケール相関係数に基づいています。
1 = エッジモデル (デフォルト)

エッジモデル登録は、通常は対象物の境界線上で検出されるグレースケールの不連続に隣接するサンプリングポイントに基づいてパターンを作成します。エッジモデルの類似性測定基準は、正規化されたグレースケール相関に基づいています。

:  モデルを定義するために使用可能なポイントの最大数は 4096 です。
粗さ

登録されるモデルの最小の特徴のサイズを指定します。

0 = 高精度 最小の特徴のサイズは約 4 ピクセル
1 = 中程度 (デフォルト) 最小の特徴のサイズは約 4 ~ 8 ピクセル
2 = 粗粒度 最小の特徴のサイズは約 8 ピクセル以上
精度

精度/信頼性と実行速度の間のトレードオフを指定します。

0 = 高精度 精度/信頼性が高くなり、実行速度が遅くなるように指定します。
1 = 中程度 (デフォルト)  
2 = 高速 精度/信頼性が低くなり、実行速度が速くなるように指定します。
行オフセット モデルのローカル座標系で測定されたとおり、モデルの中心からレスポンスポイントへの行オフセットを指定します (-1199 ~ 1199、デフォルト = 0)
列オフセット モデルのローカル座標系で測定されたとおり、モデルの中心からレスポンスポイントへの列オフセットを指定します (-639 ~ 639、デフォルト = 0)
登録を強制

スプレッドシート更新での自動モデル登録を有効または無効にします。登録を強制がオフであれば、モデル領域またはモデル設定が変更されたときにのみモデルが登録されます。ON の場合は、スプレッドシートが実行されるたびにモデルが再登録されます。

0 = OFF (デフォルト)
1 = ON

パターン

FindPatterns 関数が独自モデルを使用してサーチするか、別の FindPatterns 関数に含まれているモデルを使用してサーチするかを指定します。デフォルト値は 0 で、現在の FindPatterns 関数が独自のモデルを使用することを意味します。

また、パターンはほかの FindPatterns 関数によって登録されたローカルモデルをサーチに使用するように指定するパターン データ構造体も参照できます。この代替動作によって、スプレッドシート上の複数の PatFind サーチのインスタンスで 1 つのモデルを共有することが可能になります。

:  この動作はチェインしません。つまり、さらに別の PatFind モデルを参照している PatFind モデルを参照することはできません。
サーチ領域

パターンのサーチを実行する場所の定義に使用される、画像の領域を指定します。変換および回転が可能な矩形の画像領域を作成します。このパラメータを選択して、プロパティシートのツールバーにある [領域の最大化] ボタンを押すと、画像全体が対象になるように領域が自動的に拡張されます。

X フィクスチャ座標での原点の X オフセット
Y フィクスチャ座標での原点の Y オフセット
高さ 領域の X 軸に沿った寸法。
領域の Y 軸に沿った寸法。
角度 フィクスチャ座標での角度。
検出する数

返される一致したパターンの最大数を指定します (0 ~ 255、デフォルト = 1)

:  返すことができるパターンの最大数は 255 ですが、[モデル設定] パラメータがエッジモデルに設定されている場合は、そのほかの設定、特に [粗さ][精度]、および [スケール許容] によって、返されるパターン数は大幅に減少することがあります。より多くのパターンを検出する必要がある場合は、FindPatMaxPatterns 関数を使用することを推奨します。
角度範囲 パターンの回転に対する関数のプラス/マイナス方向の許容範囲を指定します (0 ~ 180、デフォルト = 15)。この関数は、指定された範囲外のパターンも検出しますが、精度が少し下がります。角度範囲を 0 より大きい値に設定すると、パターンを検出する速度が遅くなります。
スケール許容

パターンのスケール変化に対する関数の許容値を指定します。

0 = OFF (デフォルト) スケール検索を無効にします。スケール検索が無効のときも、この関数は元のモデルサイズの約 ±10% の範囲内のパターンを検出しますが、不一致が増えるのでレスポンスが低下します。
1 = ON スケール検索を有効にします。スケール検索が有効のとき、この関数は元のモデルサイズの ±10% の範囲で限定されたスケール調整を実行します。
しきい値: アクセプト パターンレスポンスの最小一致得点を指定します (0 ~ 100、デフォルト = 50)。この関数は、アクセプトしきい値の制限を超えた、検出する数パターンのレスポンスを返します。
しきい値: コンフューズ モデルの実際のインスタンスでない画像内パターンに対し、予測される最大パターンレスポンス得点を指定します (0 ~ 100、デフォルト = 70)。このサーチパラメータを設定すると、関数がどのパターンレスポンスを調査し、どのパターンを安全に無視できるかを知るのに有効です。このパラメータはコンフュージョンしきい値とも呼ばれます。
タイムアウト この関数によるパターンのサーチ時間をミリ秒単位で指定します (0 ~ 30000、デフォルト = 5000)。指定された時間が経過すると、実行は停止し、#ERR が返されます。値を 0 に設定すると設定値が無効になり、タイムアウトは適用されません。
表示

画像上の FindPatterns グラフィックスオーバレイの表示モードを指定します。

0 = 非表示 FindPatterns 関数を含んでいるセルがスプレッドシート内でハイライトされている場合を除き、すべてのグラフィックスが表示されません。
1 = 結果のグラフィックスのみ 十字マークは、検出されたモデルのオフセット座標に常に表示されます。
2 = 入力と結果のグラフィックス 入力画像領域と十字マークが常に表示されます。

FindPatternsの出力

戻り値 得点によってソートされたモデルとパターンレスポンスのリストを含むパターンデータ構造体。入力パラメータが無効であれば #ERR を返します。
結果 FindPatterns 関数が初めてセルに挿入されると、スプレッドシート内に結果テーブルが自動的に作成されます。

FindPatternsデータアクセス関数

次のデータアクセス関数がスプレッドシートに自動挿入され、結果テーブルが作成されます。

GetRow(パターン, インデックス) パターン位置の行座標
GetCol(パターン, インデックス) パターン位置の列座標
角度 GetAngle(パターン, インデックス) パターン位置の角度
スケール GetScale(パターン, インデックス) 登録されたモデルと比較したパターンのサイズ (モデルサイズのパーセントで表示)
得点 GetScore(パターン, インデックス) パターンのレスポンス得点