GenICam 标准 1、概述 如今的数码摄相机包含了很多的功能,而不仅仅是采集图像
对于机器视觉相机来说,处理图像并把结果附加到图像数据流上,控制附加的硬件,代替应用程序作实时的处理等都是很平常的事情
这也导致了相机的编程接口变得越来越复杂
GenICam 的目标是为所有类型的相机提供一个统一的编程接口
无论相机使用的是哪种传输协议或者实现了哪些功能,编程接口(API)都是一样的
图 1 The GenICam vision GenICam 标准包含多个模块(module),按照主要功能分为如下部分: GenApi: 用于设置相机的应用程序开发接口(API) GenTL: 获取图像用的传输层(TL)协议,尚未完成 这两个模块可以相互独立地发布
2 GenApi 模块 – 配置相机 2
简介 GenApi 模块解决如何去配置相机的问题
主要的思路是,让相机生产厂商为他们的相机提供机器可以识别的产品说明
这些相机描述文 件(camera description files)包含所有需 要的信 息 ,用以自 动 地把相机的属 性 (features)和其 寄 存 器( registers )相对应
相机的Gain 属性是一个典型的例子,假设用户想令Gain=42,利用GenICam,通用的软件可以读相机的描述文件并发现,要把Gain 属性设成42 意味着向地址为0x0815 的寄存器写入值0x2A
其他要做的工作可能是检查相机是否提供Gain 属性,并检查要写入的值是否在Gain 的允许范围内
请注意,给相机添加新的属性仅仅意味着扩展相机的描述文件,就可以对所有符合GenICam 标准的程序立即生效
图2 Layers for accessing a camera 2
节点、接口和抽象特征 相机描述文件中的每个节点只描述一个项目
基于项目的自然