Array Element Iterator vTool#
Array Element Iterator 透過 Array 輸入接腳接受不同類型的陣列(例如圖片或區域),並根據其在內部(以零為基底)索引中的位置,透過對應的 Element 輸出接腳輸出元素。這讓您可以對陣列的個別元素執行影像處理。
下載 pylon Software Suite 以使用 Array Element Iterator vTool。

運作原理#
Array Element Iterator 允許您分離資料陣列的個別元素,從而讓您能夠對個別元素執行影像處理。之後,您可以使用 Array Creator vTool 將個別元素重新組合成陣列。系統會根據 vTool 內部的零基底索引來處理元素。此外,您可以設定是否同時原封不動地轉發任何資料。這可以是陣列所參考的圖片或區域,或任何其他資料。
資訊
如果連接了多個輸入接腳,則所有輸入必須來自相同的資料來源。不支援連接來自不同、獨立處理鏈的輸入。如果您需要合併此類輸入,請在 Array Element Iterator 前方新增一個 Data Synchronizer vTool 以同步輸入資料。
以下參數可用:
- Number Of Array Pins: 這會定義您可以輸入的陣列數量。系統將會建立相同數量的 Element 輸出接腳。輸出接腳會採用輸入陣列的資料類型,例如,如果您輸入 RectangleF 陣列,就會輸出 RectangleF 資料類型的元素。
- Number Of Data Pins: 這會定義用於轉發資料(例如圖片、區域或任何其他資料)的 Data 輸入接腳數量。系統將會建立相同數量的 Data 輸出接腳。資料項目會原封不動地轉發給下一個依序的 vTool。此參數為選擇性參數。
- Iteration Mode: 這會定義您是要走訪陣列的所有元素,還是僅走訪特定範圍。如果您選取 Range,您可以指定該範圍的起點與終點。
走訪作業會使用最大輸入陣列的大小。在 All Elements 走訪模式中,vTool 會走訪從 0 到該大小減一的所有索引。在範圍型走訪模式中,只會走訪設定範圍內的索引。該範圍會被限制在最大陣列的大小內。
當 vTool 走訪輸入陣列的元素時,它會透過 Element 接腳輸出每個元素,並透過 Index 接腳輸出對應的索引位置。如果輸入了多個陣列且某個陣列中不存在某個索引(例如因為它小於其他陣列),則該陣列的輸出上不會傳送任何值。LastIteration 輸出接腳表示走訪的結束。如果已到達陣列的最後一個項目,它會輸出 true。如果已輸入多個陣列,則當到達最大陣列的最後一個項目時,它會傳回 true。
錯誤處理#
Array with errors: 如果任何陣列輸入接腳接收到帶有陣列層級錯誤的陣列,則不會進行走訪。LastIteration 傳回 true,Index 傳回錯誤值,且 Element 與 Data 輸出接腳上不會傳回任何資料。
Elements and data with errors: 有效陣列內帶有錯誤的元素以及資料輸入接腳上的錯誤會被透明地轉發。它們不會受到與有效值不同的對待。
No array received: 如果所有陣列輸入接腳都沒有接收到陣列,則不會進行處理,也不會傳回任何內容。資料輸入接腳上的任何值都會被忽略。
No iteration: 如果所有接收到的陣列都是空的,或者設定的索引範圍完全超出陣列邊界,則 LastIteration 傳回 true,不傳回 Index,且資料輸入值會被忽略。
設定 vTool#
若要設定 Array Element Iterator vTool,請在 Workbench 中按兩下它。隨即會開啟一個對話方塊,顯示所有可用的設定。或者,您可以在 Features - All 窗格中找到相同的設定。
Inputs#
ArrayN#
接受要走訪的陣列。您可以設定最多 100 個陣列輸入接腳。
- 資料類型:任何簡單資料類型的陣列(Boolean、CircleF、EllipseF、Float、Image、Integer、LineF、PointF、RectangleF、Region、String、Transformation Data)
DataN#
接受任何資料(例如影像、區域或其他資料),以便在每個疊代步驟中保持不變地通過。您可以設定最多 100 個資料接腳。
- 資料類型:任何資料類型
Outputs#
ElementN#
逐一傳回對應輸入陣列的個別元素。
- 資料類型:與 Array 輸入接腳處輸入的資料類型相同,即任何簡單資料類型(Boolean、CircleF、EllipseF、Float、Image、Integer、LineF、PointF、RectangleF、Region、String、Transformation Data)
DataN#
傳回在每個步驟中於對應輸入端接收到的資料(例如影像、區域或其他資料),保持不變。
- 資料類型:任何資料類型
LastIteration#
傳回是否已到達陣列的最後一個元素。除最後一個元素外,它對所有元素傳回 false,並在最後一次疊代時傳回 true。如果未發生任何疊代(例如所有陣列皆為空、指定的範圍大於最大陣列,或接收到帶有錯誤的陣列),它也會傳回 true。
- Data type: Boolean
索引#
傳回目前的索引位置。如果有任何陣列輸入發生陣列層級的錯誤,則傳回錯誤值。未發生疊代時不會輸出任何內容。
- Data type: Integer