POL ENG GER 中文

资料流编程

重要訊息:Adaptive Vision Studio,並不需要擁有任何寫低階程式語言的經驗,然而他依然是給專業工程師高度特化過的工具,並且是成熟的視覺程式語言,您必須瞭解該產品的4項核心概念: 資料過濾器連接 以及 大型過濾器

Data

Adaptive Vision Studio 是一個資料處理環境,資料的概念很重要,您必須瞭解資料的 類型 (舉例:Point2D) 以及 (舉例來說:坐標 (15.7, 4.1)) 的分別,類型定義且引導程序架構, 值出現於程序執行,並且呈現處理中的資訊。

Adaptive Vision Studio 也支援 陣列 ,即可改變大小的收集資料項目後一併處理。對於每個資料類型,皆有一個相應的陣列。 舉例來說 4 是一個值的 整數 類型, 集合 {1, 5, 4} 是一個陣列的 整數 類型. 嵌套陣列也是有可能的。

過濾器

過濾器在資料流導向的程式碼中,是一個基本的資料處理元素。在典型的機器視覺程序中,會有一個過濾器做為存取影像的開端,緊接著會有一系列的過濾器改變圖像區域、輪廓、幾何圖元,最後會以 通過/失敗 的指示呈現。

過濾器通常會有幾個輸入以及單一或多個輸出,每個端口都有一個特定的類型 (例如 圖像Point2D等等) ,並且只有彼此兼容的類型可以連接。未連接的輸入值可以設置在屬性窗口中,這也提供圖形編輯器方便下定義的幾何數據, 調用過濾器時,其輸出數據可以被顯示,並分析數據預覽面板。

連接

連接過濾器之間的數據傳輸,但他們在典型的低層次的編程結構中發揮重要作用,如循環和條件的複雜封裝。不同種的連接支援基本的資料流。 , automatic conversions , for-each processing and conditional processing . 好消息是連接類型被推斷自動地執行基本的"do what I mean"指令。

大型過濾器

大型過濾器< 提供一個在現實世界中建立大型專案的一種手段,它們是可重複輸入和輸出的子程序。 一旦創建大型過濾器後,它會出現在“工程資源管理器” (Project Explorer window) 窗口中,之後就可以將其作為一般的過濾器,用完全相同的拖曳方式操作。

大多數的大型過濾器(我們稱他們為步驟)都只是幾個過濾器交替的協助程序簡潔及組織良好。 然而,其他過濾器也可以創建嵌套的數據處理循環,或是重新導向程序執行至清楚的定義,且具條件的多變路徑上(Variant Steps)。 這樣的架構能讓您優雅的創建任意複雜度的資料流程序。

以下資料以及他們的類型與C++非常的相似,我們也擁有泛集合類型以及陣列 ,都與 std::vector 非常相似。過濾器及大型過濾器具有相同的功能。 但是相對於單一的返回值,他們常有很多個輸出的參數,連結對應的變數並不需要命名,另一方面 Adaptive Vision Studio 迴圈及條件跟C++截然不同,前者使用陣列連結 (array connections)或著是 任務 (Task)大型過濾器,後者則有條件式連結 (conditional connections) 以及多變路徑 (Variant Step) 大型過濾器。