This page uses cookies. For details and possible settings refer to our Privacy Policy.
Continuing to use this page means accepting the processing of cookie files.

Accept (hide info)
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) 大型過濾器。