# FindCurve

カーブのある画像領域内で単一の円弧エッジセグメントを検出します。FindCurve 関数は、領域のローカル座標系に対して正の X 方向にスキャンして、同心円弧セグメントのピクセル値を合計することによって、画像領域の 1 次元投影を形成します。投影された画像データからエッジ遷移が抽出されます。

## FindCurve の入力

パラメータ | 説明
画像 | 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 を設定すると、フィクスチャが回転または移動した場合に、フィクスチャに対応して ROI を確実に回転または移動できます。 デフォルト設定は画像の左上隅で、(0, 0, 0) になります。
X | 画像座標での X オフセット。
Y | 画像座標での Y オフセット。
角度 | 画像座標系での画像の X 軸からの回転 (時計回り +/-360 度)。
領域 | これは対象領域 (ROI) とも呼ばれ、解析の対象となる画像の領域を表します。[領域] パラメータをダブルクリックすると、変換と回転が可能な対話型グラフィックスモードを作成できます。このパラメータを選択して、プロパティシートの [ジョブの編集] ツールバーにある [領域の最大化] ボタンを押すと、画像全体が対象になるように領域が自動的に拡張されます。
X | フィクスチャ座標での原点の X オフセット
Y | フィクスチャ座標での原点の Y オフセット
幅 | 領域の X 軸に沿った寸法。
高さ | 領域の Y 軸に沿った寸法。
角度 | フィクスチャ座標での角度
カーブ | 領域の X 軸と反対側の境界線との間の角度変位
注 : [フィクスチャ] および [領域] パラメータは、画像の範囲内で定義されている必要があります。画像の範囲内で定義されていない場合、この関数は #ERR を返します。
極性 | エッジ領域のスキャン方向を基準として、配置するエッジの極性を指定します。この関数は、指定された極性のエッジのみを報告します。
0 = 黒→白 | エッジの極性を黒→白に指定します。
1 = 白→黒 | エッジの極性を白→黒に指定します。
2 = 任意 (デフォルト) | エッジの極性を黒→白または白→黒のいずれかになるように指定します。
検出する基準 | 複数のエッジ候補の中からエッジを選択する方法を指定します。
0 = 最高得点 (デフォルト) | 最高得点のエッジに注目するように指定します。
1 = 最初のエッジ | 検出された最初のエッジに注目するように指定します。
2 = 最後のエッジ | 検出された最後のエッジに注目するように指定します。
アクセプトしきい値 | 許容できる最小エッジコントラストを指定します (0 ～ 100、デフォルト = 25)。コントラスト値は、領域内のグレースケールヒストグラムから 0 ～ 100 のスケールに正規化したものです。コントラスト得点がこの値を下回るエッジは拒否されます。
スコアの正規化 | エッジ得点を領域のグレースケールヒストグラムで正規化するかどうかを指定します。[スコアの正規化] が有効な場合、未処理のエッジ得点は、次の式を使用して、画像領域内で検出された最大コントラストで正規化されます。 得点 = (未処理のエッジ得点) x (100/最大コントラスト) ここで、未処理のエッジ得点はエッジ全体のグレーレベルの差であり、最大コントラストは画像領域内の最大と最小のグレーレベル (0 ～ 255) の差です。 [スコアの正規化] が無効な場合、低コントラストのエッジは高コントラストのエッジより得点が低くなります。次の式が使用されます。 得点＝ (未処理のエッジ得点) x (100/255)
0 = OFF | 得点を正規化しません。
1 = ON (デフォルト) | 得点を正規化します。
ヒント : このパラメータは、低コントラスト領域でエッジを見つける場合に有用です。検出対象のエッジが高コントラストだけの場合は、このパラメータを無効にします。
角度範囲 | エッジの回転に対する関数の許容値を指定します (0 ～ 10、デフォルト = 0)。この関数は、指定された範囲外のエッジも検出しますが、精度は高くない可能性があります。 注 : このパラメータを 0 より大きい値に設定すると、関数の処理速度が低下します。 この設定は現在、無視されています。円環セグメント内で [角度範囲] の最大値 10 が常に使用されます。
エッジ幅 | エッジ変化が起きるピクセル距離を指定します (1 ～ 50、デフォルト = 3)。エッジを抽出する前にエッジ幅を使用して画像をフィルタ処理します。
表示 | 画像上の FindCurve グラフィックスオーバレイの表示モードを指定します。
0 = 非表示 (デフォルト) | FindCurve 関数を含んでいるセルがスプレッドシート内のアクティブセルである場合を除き、すべてのグラフィックスが表示されません。
1 = 結果のグラフィックスのみ | カーブエッジが常に表示されます。
2 = 入力と結果のグラフィックス | 入力画像領域とカーブエッジが常に表示されます。
3 = すべて表示: 入力、結果、およびチャート | 入力画像領域、カーブエッジ、およびエッジのレスポンスチャートが常に表示されます。 注 : エッジのレスポンスチャートは、ドッキング可能なウィンドウです。詳細については、「スプレッドシートエディタ - チャート」のトピックを参照してください。

## FindCurve の出力

戻り値 | 単一のカーブエッジセグメントを含む エッジ データ構造体。入力パラメータが無効であれば #ERR を返します。
結果 | FindCurve が初めてセルに挿入されると、スプレッドシート内に結果テーブルが作成されます。 結果テーブルを作成するため、次のエッジVision Data Access functionsがスプレッドシートに自動挿入されます。
ラベル | 関数 | 説明
--- | --- | ---
CentX | GetX(エッジ, 0, 0) | カーブの中心の X 座標。
CentY | GetY(エッジ, 0, 0) | カーブの中心の Y 座標。
StartX | GetX(エッジ, 0, 1) | 始点の X 座標。
StartY | GetY(エッジ, 0, 1) | 始点の Y 座標。
EndX | GetX(エッジ, 0, 2) | 終点の X 座標。
EndY | GetY(エッジ, 0, 2) | 終点の Y 座標。
半径 | GetRadius(エッジ, 0) | 円弧の半径。
得点 | GetScore(エッジ, 0) | エッジコントラストの得点。得点は黒→白の場合は正の値、白→黒の場合は負の値になります。