NumberToFind プロパティー
適用
ビジョンオブジェクト: ArcInspector、Blob、CodeReader、Contour、Correlation、DefectFinder、Edge、Geometric、LineInspector
解説
作業中のサーチウィンドウで検出する対象物の数を定義します。
用法
VGet Sequence.Object.NumberToFind, var
VSet Sequence.Object.NumberToFind, value
- Sequence
- シーケンス名かシーケンス名を示す文字列変数
- Object
- オブジェクト名かオブジェクト名を示す文字列変数。オブジェクトは指定されたシーケンスに存在していなければなりません。
- var
- プロパティーの値を示す整数変数
- value
- プロパティーの新しい値を示す整数または式
値
入力値の有効範囲: 0 (All)から各オブジェクトの検出最大数(詳細説明参照)
デフォルト:
- 0 - All(Contourオブジェクト)
- 1 (その他のオブジェクト)
詳細説明
ArcInspector、Blob、Correlation、DefectFinder、Edge、GeometricおよびLineInspectorのオブジェクトは、1つのサーチウィンドウ内で複数の対象物を検出できる機能があります。NumberToFindプロパティーは、検索する対象物の数を定義します。
多くのアプリケーションでは、サーチウィンドウで検索する対象物は1つだけなので、Contour以外のオブジェクトではNumberToFind プロパティーのデフォルト値は、「1」になっています。
Vision Guideの開発環境で作業を行うときは、オブジェクトウィンドウのリザルトリストに「検出結果1/15」という表示が出てきます。これは、NumberToFindプロパティーの設定にしたがって15個の対象物を検索するうち、1アイテムがリザルトリストに表示されていることを示します。
他のリザルトを表示させたいときは、CurrentResultプロパティーの値を変更して、チェックしたいリザルトの番号を入力します。
Blobリザルトの場合は、SizeToFindとSortの各プロパティーの設定にしたがって、リザルトが表示されます。
NumberToFindの設定が「0 - All」の場合、検出最大数まで検出されます。検出最大数は各オブジェクトで異なり、下記の通りです。
| オブジェクト名 | 検出最大数 |
|---|---|
| CodeReader | 8 |
| Contour | 1000 |
| Blob, Edge | 4000 |
| その他 | 100 |
Correlation とGeometricリザルトは、Sortを"None"に設定すると、Scoreリザルトの高い順に並べられます。(Result 1 (CurrentResult =1)は、スコアが一番高かった対象物のリザルトを示します。)
参照
ArcInspectorオブジェクト, Blobオブジェクト, Contourオブジェクト, Correlationオブジェクト, CurrentResult プロパティー, DefectFinderオブジェクト, Edgeオブジェクト, Found リザルト, Geometricオブジェクト, LineInspector オブジェクト, NumberFound リザルト
使用例
下記のSPEL+ 言語のプログラム例では、Corr01というCorrelationオブジェクトを含むmtestという名前のビジョンシーケンスを実行しています。Corr01のNumberToFindの値は、Vsetを使用して設定します。
下記のプログラムは、シーケンスを実行し、Corr01に対して適正な数(3つ)の対象物が検出されたか確認し、スコアリザルトを高い順に表示しています。
Function main
# define NUM_TO_FIND 3
Integer numfound
Integer score
VSet mtest.Corr01.NumberToFind, NUM_TO_FIND
VRun mtest
VGet mtest.Corr01.NumberFound, numfound
If numfound = NUM_TO_FIND Then
Print "The Proper Number of features(3) were found"
Else
Print "Only (", numfound, ") features were found"
Exit Function
EndIf
VGet mtest.Corr01.Score(1), score
Print "1st feature score (Best): ", score
VGet mtest.Corr01.Score(2), score
Print "2nd feature score (Medium): ", score
VGet mtest.Corr01.Score(3), score
Print "3rd feature score (Worst): ", score
Fend