GenICam 介绍

简而言之,GenICam 定义了一个通用的相机接口,使得应用程序的编写、相机的控制可以与具体的型号解耦,这样就可以设计出通用的软件完成对不同相机的控制。我们实际使用的CoaXPress 相机当然也支持 GenICam标准,可以阅读其xml文件获取其对应的控制寄存器信息。

GenICam (abbreviated for Generic Interface for Cameras) is a generic programming interface for machine vision (industrial) cameras. The goal of the standard is to decouple industrial camera interfaces technology (such as GigE Vision, USB3 Vision, CoaXPress or Camera Link) from the user application programming interface (API)

相机XML文件

根据GenICam标准,在相机的指定位置存储了一份XML文件,XML文件记录了控制相机所需的所有寄存器信息。那么这份文件,可以自己从供应商处获取,也可以自己从相机指定位置读取并解析,如果对于单个相机型号的控制而言,直接拿xml文件的信息进行编程更加简单。

比如下面这段描述,就定义了TriggerSource 触发源的枚举定义、寄存器地址信息,如果我们需要设置触发源为软件触发,那么我们就需要向0x8908寄存器地址写入0x0,如果需要设置为LinkTrigger0(来自于CXP Host,就是采集卡),需要向0x8908寄存器地址写入0x4。有了这些信息,我们就可以通过寄存器读写的方式完成对相机的指令控制。

	<Enumeration Name="TriggerSource">
<ToolTip>This feature defines the source of the trigger signal.</ToolTip>
<Description>This feature defines the source of the trigger signal.</Description>
<DisplayName>Trigger Source</DisplayName>
<Visibility>Beginner</Visibility>
<pIsLocked>IsRunning</pIsLocked>
<EnumEntry Name="Software">
<DisplayName>Software Trigger</DisplayName>
<Value>0x0</Value>
</EnumEntry>
<EnumEntry Name="LinkTrigger0">
<DisplayName>CXP Link Trigger 0</DisplayName>
<Value>0x4</Value>
</EnumEntry>
<EnumEntry Name="Line0">
<DisplayName>Line Trigger 0</DisplayName>
<pIsImplemented>DIN1ConnectorType</pIsImplemented>
<Value>0x8</Value>
</EnumEntry>
<EnumEntry Name="Line1">
<DisplayName>Line Trigger 1</DisplayName>
<pIsImplemented>DIN1ConnectorType</pIsImplemented>
<Value>0x9</Value>
</EnumEntry>
<pValue>TriggerSourceReg</pValue>
</Enumeration>
<IntReg Name="TriggerSourceReg">
<Address>0x8908</Address>
<Length>4</Length>
<AccessMode>RW</AccessMode>
<pPort>Device</pPort>
<pInvalidator>TriggerSelectorReg</pInvalidator>
<pInvalidator>UserSetLoadReg</pInvalidator>
<Endianess>BigEndian</Endianess>
</IntReg>

最新文章

  1. Django中提示TemplateDoesNotExist?
  2. win server服务安装
  3. javascript自学002--DOM事件
  4. java 22 - 14 JDK1.5以后的Lock锁
  5. 开源--豆瓣小组UWP,已上架应用商店
  6. 输入和输出的总结(c语言)
  7. OpenscenGraph中控制swapbuffer的方法(用于多机大屏幕同步显示机制)
  8. VB.NET入门基础
  9. InnoDB的配置
  10. Java设计模式模式观测(Observer Pattern)
  11. Asp.net MVC 简单实现生成Excel并下载
  12. TensorFlow-相关 API(学习笔记 )
  13. 修改XCode默认工程为使用Xib
  14. Java 读取文件的内容
  15. apicloud 环信总结
  16. plot 函数常用参数
  17. TypeScript set get
  18. Java内部类的介绍
  19. 管理Mysql常用指令
  20. js 获取高度

热门文章

  1. yum方式安装nginx
  2. 查询 Oralce 某 schema 所拥有的权限
  3. sublime text 3 添加packagecontrol
  4. C语言 运算符优先级和结合方向
  5. sql审核-避免离线sql导致的db集群故障
  6. 学习javaScript必知必会(4)~事件、事件绑定、取消事件冒泡、事件对象
  7. Tomcat-Tomcat服务器实例使用的其他细节说明
  8. nginx 和uwsgi的区别与作用
  9. IP:网络上的击鼓传花
  10. APC 篇—— APC 挂入