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) 大型过滤器。