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(全部)至各物件可檢測出的最大數量(詳情參閱詳細說明)。
預設:
- 0 - All(Contour物件),
- 1(其他物件)
詳細說明
ArcInspector、Blob、Correlation、DefectFinder、Edge、Geometric及LineInspector物件支援在單一搜尋視窗內尋找多項特徵。NumberToFind屬性會定義需求數量。
由於許多應用項目僅要求在搜尋視窗內找到1項特徵,因此除了Contour物件以外,NumberToFind屬性的預設值為1。
在Vision Guide開發環境中操作時,您將會注意到物件視窗的結果列表會顯示標題,如「結果(1/15)」。這表示系統已嘗試尋找15個特徵(如NumberToFind屬性所定義),且結果列表將會顯示項目1的結果。
若要查看其他結果,只要將CurrentResult屬性值變更為要檢查的結果值即可。
Blob結果會依照SizeToFind及Sort屬性值排序。
若NumberToFind設為「0 - All」,則會找到所有可能的結果,直到數量到達最大偵測數。最大偵測數會視各物件而異。如下所示。
物件名稱 | 最大偵測數 |
---|---|
CodeReader | 8 |
Contour | 1000 |
Blob, Edge | 4000 |
其他 | 100 |
Sort設為“None”時,Correlation及Geometric結果會依照Score結果的高低,由高至低排序。(即結果記錄1(CurrentResult = 1)含有具最高分數的特徵結果。)
參考
ArcInspector物件、Blob物件、Contour物件、Correlation物件、CurrentResult屬性、DefectFinder物件、Edge物件、Found結果、Geometric物件、LineInspector物件、NumberFound結果
範例
下列SPEL+語言範例執行mtest視覺序列,該序列包含名為Corr01的Correlation物件。使用VSet設定Corr01的NumberToFind值。
下列程式將會執行序列,並確保為Corr01找到正確的特徵數量(3),然後以遞減順序印出Score結果。
Function main
# define NUM_TO_FIND 3
Boolean 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
← NumberOfResults屬性 O →