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