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的优势

  • 符合标准的软件和遵守标准的相机始终兼容
  • 符合前瞻性投资要求,可以确保向下一代产品扩展或集成
  • 因为采用标准化的组件,这些组件彼此匹配,以便降低集成成本,同时在系统组件损坏必须更换时,可降低维护成本。
  • 这一标准还允许制造商提供特殊功能,从而推动创新
 

GenIcam标准(一)的更多相关文章

  1. GenIcam标准(四)

    2.8.可用的节点类型 本章对每个可用的节点类型提供一个概要的描述,包括其功能.用途以及最关心的参数.另外,对于每个节点在GenICam标准的XML格式文件中的layout,会有一个正式的说明.这个格 ...

  2. GenIcam标准(二)

    2     GenApi模块 – 配置相机 2.1. 简介 GenApi模块解决如何去配置相机的问题.主要的思路是,让相机生产厂商为他们的相机提供机器可以识别的产品说明.这些相机描述文件(camera ...

  3. GenIcam标准(三)

    2.6. 缓存 如果某个实现对每个写操作支持范围.实现和可用状态的检查,通常会触发一系列对相机的读操作.大多数用于有效性检查的数值很少或不会发生变化,所以可以放入缓存.相机描述文件包含所有必需的定义以 ...

  4. GenIcam标准介绍

    GenICam TM的目标是为各种相机和设备提供通用编程接口.无论他们使用什么接口技术(GigE Vision,USB3 Vision,CoaXPress,Camera Link HS,Camera ...

  5. GenIcam标准(五)

    2.8.10.Enumeration, EnumEntry Enumeration节点把一个名称(name)映射到一个索引值(index value),并实现Ienumeration接口.Enumer ...

  6. GenIcam标准(六)

    2.9.可用的接口 本章用伪代码列出在2.3章介绍过的最重要的接口.对每个接口,实际的实现可以提供更多的方法,例如,除了SetValue(value)方法,还可以用直接映射到SetValue()的方式 ...

  7. GenIcam标准关键词整理

    1.<?xml> 版本信息和编码方式 IntSwissKnife 需计算和判断的节点 MaskedIntReg 需查询的节点 2.<RegisterDescription> 寄 ...

  8. 机器视觉必知-GenICam相机通用接口标准

    机器视觉必知-GenICam相机通用接口标准 GenICam(相机通用接口): 一种通用软件接口 通用相机接口标准 目前机器视觉行业所使用的相机几乎均以相同方式来进行配置,即:---通过在注册表中的读 ...

  9. 【VS开发】【图像处理】GigE和USB3 vision选择?

    [VS开发][图像处理]GigE和USB3 vision选择? 具体得看你现场的应用吧,如 现场需要的工作距离,网线可达到100m以内,USB3.0一般般的5m以内: GigE双端都有卡扣,保证了与相 ...

随机推荐

  1. 新手须知 QT类大全

    QT类大全,在行内容中罗列出来了,希望大家多看看,如果是API就更好了,但可惜不是.这些是一些大类,请多做参考. QApplication 应用程序类 QLabel 标签类 QPushButton 按 ...

  2. LCA题集

    点的距离(模板题) 树中两点间的距离就是d[u] + d[v] - 2 * d[lca(u, v)] #include<bits/stdc++.h> #define REP(i, a, b ...

  3. MgdDbg工具

    ArxDbg是可以查看AutoCAD内部数据结构的工具,可惜是C++的.从网上找到了一个.NET版本的MgdDbg,实现的功能与C++版本的差不多. 1.运行程序,你只要右键点击AutoCAD窗口,在 ...

  4. cocos2dx-3.0创建Android项目时遇到的错误。

    cocos run -p android出现 文件名称.文件夹名或卷标语法不对 Updated project.properties Updated local.properties Updated ...

  5. iOS给label加入下划线

    UILabel *myLabel = [[UILabelalloc] ,, , )]; NSMutableAttributedString *content = [[NSMutableAttribut ...

  6. stl之hash_map

  7. Wireshark默认不抓取本地包的解决方式

    事实上这个工具我已经用过非常多年了,还叫Ethereal的时候就在用. 今天因为实验须要,要抓一下在localhost间的包,结果发现获取不到.解决方法也非常easy,在cmd下输入: route a ...

  8. bzoj1202: [HNOI2005]狡猾的商人(差分约束)

    1202: [HNOI2005]狡猾的商人 题目:传送门 题解: 据说是带权并查集!蒟蒻不会啊!!! 可是听说lxj大佬用差分约束A了,于是开始一通乱搞. 设s[i]为前i个月的总收益,那么很容易就可 ...

  9. CoreData(数据库升级 )版本迁移-iOS App升级安装

    版权声明:本文为博主原创文章,未经博主允许不得转载. 如果IOS App 使用到CoreData,并且在上一个版本上有数据库更新(新增表.字段等操作),那在覆盖安装程序时就要进行CoreData数据库 ...

  10. Linux系统安装Redis数据库

    Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorte ...