当前位置: 首页 > news >正文

GenICam标准(一)

在这里插入图片描述

系列文章目录


GenICam标准(一)
GenICam标准(二)
GenICam标准(三)
GenICam标准(四)
GenICam标准(五)
GenICam标准(六)


文章目录

  • 系列文章目录
  • 1、概述
    • GenApi
    • GenTL
    • SFNC(标准特征命名约定)
    • CLProtocol
    • GenCP
  • 参考


emva

1、概述

    如今的数码摄相机包含了很多的功能,而不仅仅是采集图像。对于机器视觉相机来说,处理图像并把结果附加到图像数据流上,控制附加的硬件,代替应用程序作实时的处理等都是很平常的事情。这也导致了相机的编程接口变得越来越复杂。

    GenICam 的目标是为所有类型的相机提供一个统一的编程接口。无论相机使用的是哪种传输协议或者实现了哪些功能,编程接口(API)都是一样的。见下图 。

在这里插入图片描述

    GenICam 标准包含多个模块(module),按照主要功能分为如下部分:GenApi、GenTL、SFNC、CLProtocol、GenCP。

GenApi

    用于对相机进行配置的应用程序编程接口(API)。GenApi 定义了用于通过设备中的自描述 XML 文件提供通用 API 的机制。以 GenICam 为名称的一系列的参考实现,包括各个主要操作系统,但是没有源码,以库文件的形式提供。并定义了 XML 文件格式。

GenTL

    支持抓取图像的传输层(transport layer, TL)API 。GenTL 使传输层编程接口标准化。它是一种低级 API,为设备提供标准接口,而不考虑传输层(带或不带图像采集器)。它允许枚举设备、访问设备寄存器、流数据和传递异步事件。GenTL 也有自己的 SFNC 和一套 GenTL 生产者实现架构。

SFNC(标准特征命名约定)

    标准特性的命名约定。 这是大多数用户看到的 GenICam 的一部分。它标准化了设备功能的名称、类型、含义和使用,因此来自不同供应商的设备总是使用相同的名称来实现相同的功能。这些特性通常显示在树状视图中,或者可以由应用程序直接控制。一个相关的标准是 PFNC(像素格式命名约定),它定义了如何一致地命名像素格式并列出了正在使用的格式。SFNC 的另一个扩展是 OOCI(开放光学相机接口),它为相机的光学组件或附加的光学组件提供了一个标准接口,无论相机是基于什么线接口技术构建的。

CLProtocol

    用于将 Camera Link 相机转接到 GenAPI 的 API 。

GenCP

    通用控制协议

各个模块可以独立于其他模块进行发布。

参考

GenICam-GenApi简介

GenIcam标准(一)
GenIcam标准(二)
GenIcam标准(三)
GenIcam标准(四)
GenIcam标准(五)
GenIcam标准(六)

GenIcam标准介绍


GenIcam标准(一)
GenIcam标准(二)
GenIcam标准(三)
GenIcam标准(四)
GenIcam标准(五)
GenIcam标准(六)

   
 

相关文章:

  • Java基础知识巩固自测(上)
  • 大模型-人类病理学的语言视觉AI助手
  • DataWhale - 吃瓜教程学习笔记(一)
  • mybatis-plus使用拦截器实现sql完整打印
  • 一款经典BUCK DCDC降压芯片TPS5430适合24V转5V转12V及其电路图
  • Python 踩坑记 -- 调优
  • 超拟人大模型:AI心理健康服务的未来
  • QuickLook最强大的C#开源文件预览神器
  • 计算机行业
  • JWT令牌、过滤器Filter、拦截器Interceptor
  • LeetCode 230.二叉搜索树中第K小的元素
  • Android中蓝牙设备的状态值管理
  • Java:缓存行和伪共享
  • Mysql中索引详解
  • VS2019+QT5.15调用动态库dll带有命名空间
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • Apache的80端口被占用以及访问时报错403
  • ERLANG 网工修炼笔记 ---- UDP
  • express如何解决request entity too large问题
  • flutter的key在widget list的作用以及必要性
  • Javascript 原型链
  • Java-详解HashMap
  • 精彩代码 vue.js
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 异常机制详解
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • ​Linux·i2c驱动架构​
  • "无招胜有招"nbsp;史上最全的互…
  • #define
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • (C语言)fread与fwrite详解
  • (day 12)JavaScript学习笔记(数组3)
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (Python第六天)文件处理
  • (solr系列:一)使用tomcat部署solr服务
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (南京观海微电子)——I3C协议介绍
  • (小白学Java)Java简介和基本配置
  • (一)SpringBoot3---尚硅谷总结
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (轉貼) UML中文FAQ (OO) (UML)
  • .bashrc在哪里,alias妙用
  • .cfg\.dat\.mak(持续补充)
  • .NET gRPC 和RESTful简单对比
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?
  • .NET 的静态构造函数是否线程安全?答案是肯定的!
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)...
  • .NetCore实践篇:分布式监控Zipkin持久化之殇
  • .NET程序员迈向卓越的必由之路
  • .NET导入Excel数据
  • ::什么意思