1、概述
如今的数码摄相机包含了很多的功能,而不仅仅是采集图像。对于机器视觉相机来说,处理图像并把结果附加到图像数据流上,控制附加的硬件,代替应用程序作实时的处理等都是很平常的事情。这也导致了相机的编程接口变得越来越复杂。
GenICam的目标是为所有类型的相机提供一个统一的编程接口。无论相机使用的是哪种传输协议或者实现了哪些功能,编程接口(API)都是一样的。见图1。
图1 The GenICam vision
GenICam标准包含多个模块(module),按照主要功能分为如下部分:
l GenApi: 用于设置相机的应用程序开发接口(API)
l GenTL: 获取图像用的传输层(TL)协议,尚未完成
这两个模块可以相互独立地发布。
GenICam提供了一种普遍适用的软件界面。
它为包括GigE Vision、USB 3.0 Vision、Camera Link®和IEEE 1394在内的各种标准接口(涵盖所有相机类型和图像格式)提供了一个端到端配置接口。
这种方法方便连接符合GenICam标准的相机,无需对相机进行特定配置。
GenICam标准的核心是在一个XML描述符文件里对相机属性进行的描述。
使用此文件时,从XML到C++的翻译程序会直接生成被称为GenAPI的应用编程接口或图形用户界面(GUI)的元素。
这样,用户便可轻松访问相机提供的特性和功能(例如增益、曝光时间等等)。
GigE Vision和USB 3.0 Vision标准要求具有GigE或USB 3.0接口的相机提供这一XML描述符文件。
GenICam的优势
-
符合标准的软件和遵守标准的相机始终兼容
-
符合前瞻性投资要求,可以确保向下一代产品扩展或集成
-
因为采用标准化的组件,这些组件彼此匹配,以便降低集成成本,同时在系统组件损坏必须更换时,可降低维护成本。
-
这一标准还允许制造商提供特殊功能,从而推动创新