Data Flow Programming 重要訊息: Adaptive Vision Studio,並不需要擁有任何寫低階程式語言的經驗,然而他依然是專業工程師高度優化過的工具,並且是成熟的視覺程式語言,您必需瞭解該產品的四項核心概念:(1)資料 (2)Filter (3)連接 (4)大型Filter。
資料
Adaptive Vision Studio (簡稱AVS)是一個資料處理環境,資料的概念很重要,您必需瞭解資料的"類型"以及值的分別,類型定義且引導程序架構,值出現於程序執行,並且呈現處理中的資訊。
AVS也支援"陣列",即可改變大小的收集資料項目後一併處理。對於每個資料類型,皆有一個相應的陣列。舉例來說4是一個值的"整數"類型,集合{1, 5, 4}是一個陣列的"整數"類型,嵌套陣列也是有可能的。
Fliter
Filter在資料流導向的程式碼中,是一個基本的資料處理元素。在典型的機器視覺程序中,會有一個Filter做為存取影像的開端,緊接著會有一系列的Filter改變圖像區域、輪廓、幾何圖形,最後會以通過/失敗的指示呈現。
Filter通常會有幾個輸入以及單一或多個輸出,每個端口都有一個特定的類型(例如:影像、Point2D等等),並且只有彼此兼容的類型可以連接,未連接的輸入值可以設置在屬性窗口中,這也提供影像編譯方便下定義的幾何數據,調用Filter時,其輸出數據可以被顯示,並分析數據預覽面板。
|
連接
連接Filter之間的數據傳輸,他們在典型的低階編譯結構中發揮重要作用,如循環和條件的複雜封裝。不同類型的連接支援基本的資料流。當連接類型被推斷自動地執行基本的"do what / mean"指令。
|
Basic |
|
|
Automatic Conversions |
|
For-each Processing |
|
|
Conditional Processing |
大型Filter
提供現實中建構一個大型專案簡潔的方法,可重複輸入和輸出的子程序。一旦創建大型Filter後,它會出現在"工程資源管理器(Project Explorer window)窗口中,之後就可以將其作為一般的Filter,用完全相同的拖曳方式操作。
大多數的大型Filter(我們稱為步驟)都只是幾個Filter交替協助程序簡潔及組織良好。然而,其他Filter也可以創建嵌套的數據處理循環,或是重新導向程序執行至清楚的定義,且具條件的多變路徑上(Variant Steps)。這樣的架構能讓您優雅的創建任意複雜度的資料流程序。
|
|
Zebra Aurora Vision Studio, Zebra Autora Vision Library, Zebra Aurora Deep Learning
|