前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >8.VisionPro工具介绍之CogAcqFifoTool

8.VisionPro工具介绍之CogAcqFifoTool

作者头像
AI机器视觉
发布2022-06-01 15:39:27
4.6K0
发布2022-06-01 15:39:27
举报
文章被收录于专栏:AI机器视觉

VisionPro利用Acquisition FIFO(先进先出)队列来获取图像。要获取图像,需要向FIFO发送一个取像请求,取像请求发送后,在获取图像过程中,你可以处理其它任务,也可以等待图像获取完成再进行其它任务。Acquisition FIFO首先处理最早的取像请求,并将在取像过程中发送的请求队列,在取像完成时相应的取像请求将从取像队列中移除。

1.1.基本概念介绍

  • Acquisition FIFO:是一个维持先进先出队列的对象。你可以为每个相机创建一个Acquisition FIFO,以用来连接图像抓取工具。
  • Acquisition properties:用来控制相机的工作方式及相机和Acquisition FIFO交互方式的一系列属性。
  • Asynchronous simultaneous acquisition:异步取像,两个或者多个相机的FIFO同时接收取像请求、获取图像的一种方法。
  • Automatic triggering:通过检查触发线上的脉冲信号来获取图像的方法,又叫硬件触发。
  • Camera Configuration File (CCF):存储在安装路径中的一个文件,默认路径(),其中包含了取像系统根据不同的相机来创建相应的图像格式的信息。
  • Cognex Video Module (CVM):为各种不同相机提供接口的硬件。CVMs可以以子卡的方式集成在图像获取模块(frame grabber)或出厂配置中。
  • FIFO:一个先进先出链表结构,其中的元素按添加时的顺序从链表中移除。
  • Frame grabber:将图像数字化,使之可为软件所用的一种硬件,在康耐视视觉库中,用frame grabber来表示硬件的取像功能及所支持的取像方式。
  • Manual triggering:手动触发又叫软触发,通过一个函数来触发取像。
  • Synchronous simultaneous acquisition:一种同步取像方式,可以指定一个FIFO为主FIFO,一个或多个FIFO为从FIFO。当主FIFO收到取像请求开始取像时,从FIFO业自动开始取像。
  • Ticket: StartAcquire函数的一个返回值,可以将其传递给CompleteAcquire函数,以得到与取像请求相对应的图像。
  • Trigger event:触发线上的一个脉冲信号,或者一个函数信号,用来触发取像设备。
  • Trigger line:取像信号设备(frame grabber)上的一根专用信号线,用来接收外部触发信号以开始取像以及响应相应的外部事件。
  • Video format:用来定义相机类型、图像尺寸、以及图像深度等。

1.2.取像缓存队列(Acquisition FIFOs)

ICogAcqFifo由ICogFrameGrabber对象创建,frame grabber安装在电脑上,用来控制与之连接的电脑。特定的frame grabber模式决定了你可以使用什么种类的相机以及视频的可用特征。当你创建一个Acquisition FIFO对象,你要设定用来描述相机特征的视频格式及像素深度,一旦创建了Acquisition FIFO对象,你将不能改变与其相连的frame grabber,也不能改变视频格式。

根据特定的模式,frame grabber可能会有一个或多个相机端口,你创建了一个Acquisition FIFO,你可以设置用于连接的相机端口。但是,你必须明白一点frame grabber的相机端口可能不可以同时取像。你也可以利用已存在的FIFO创建一个从Acquisition FIFO,以用来从两个或多个像源获取图像。

  • 视频格式(Video Formats)

视频格式用来描述特定的相机模式,以及用来控制相机物理我口与Frame grabber的各种参数,例如图像尺寸大小、最大像素深度、资源同步性等。康耐视提供了一些视频格式的配置文件,用来排定上述参数。虽然它们不可编辑,但你可以看到这些CCF文件,这毕件在Visionpro软件安装的时候默认安装在C:\ProgramFiles\Cognex\VisionPro\bin路径

在Visionpro中,视频格式通过字符串来描述,字符串包含了相机制造商、模式、同步信息等参数。为了帮助使用者选择视频格式,确保使用有效的视频格式名称,下表对怎样解释视频格式名称做了介绍。以"Sony XC-75 640x240 IntDrv(rapid-reset,shutter-sw-SDONPISHA)CCF为例,

1.3.相机端口和视频通道(Camera Ports and Video Channels)

康耐视大部分的frame grabber允许连接多个相机,尽管如此并不是说你可以同时从所有的相机取像,能够同时取像的相机数量取决于frame grabber的视频通道数目,视频通道是(video channel)frame grabber用来处理图像的硬件;一个视频通道能够服务于多台相机端口,Visionpro提供了一个函数NumVideoChannels,用来报告您的framegrabber拥有的视频通道的个数。在一些framegrabbers上可能有不同格式的相机端口,例如可能有模拟相机端口和数字相机端口,在这种情况下,你可以用GetNumCameraPorts函数来获取给定相机格式的相机端口数量,你也可以通过NumCameraPorts来获取创建时所选视频格式的可用相机端口数量。

1.4.取像请求(Acquisition Requests)

Acquisition FIFO根据取像请求来获取图像,图像请求的产生方式取决于为Acquisition FIFO设置的CogAcqTrjggerModelConstants值,你可以根据自己的具体需要来指定触发方式。有以下几种触发方式可以选择:

  • 手动触发(Manual Triggering):通过调用函数。
  • 硬件触发(Automatic Triggering):通过触发线上的脉冲信号。
  • 硬件半自动(Semi-automatic Triggering):通过函数和外部触发

混合方式。

  • 自由运行(Free Run Triggering):让系统尽可能快的获取图像。
  • 手动触发(Manual Triggering)

手动触发是最简单的一种触发方式,这种触发方式下,通过调用StartAcquine函数来发出取像请求,通过调用CompleteAcquire函数来获取已经可用的图像;采用这种方式,在取像的过程中,您可以发送新的取像请求或处理其他事情,不必等待本次取像完成。如果你想在发送取像请求后等待图像获取完成,您可以采用Acquire函数。

2.硬件触发(Automatic Triggering)

一些情况下,采用外部触发方式是最好的选择。每一个frame grabber最少提供一个用来发送触发请求的触发输入端,当取像软件检测到触发信号上的跳变信号时,开始取像。这种方式下,使用手动触发会产生错误。同样,你可以通过调用CompleteAcquire函数根据取像请求的顺序来获取图像。

Acquisition FIFO的大小是32,你必须获取图像已将其移出FIFO。否则FIFO将被填满,后来的图像请求将被忽略。您可以利用GetFifoState可监控FIFO中在排队的取像求取的个数,利用CompleteAcquire来获取未处理的图像,利用Flush函数来移除未处理的取像请求。如果您想忽略触发信号,你可以利用TriggerEnabled属性来使能或禁用触发信号另外,如果两台或多台相机共用一个触发线也不会报错,但是,最先获得触发源的FIFO将获取图像,其他的FIFOS将被阻塞。

3.硬件半自动(Semi-automatic Triggering)

硬件半自动是一种混合触发方式,是硬件触发方式和手动触发方式的组合,可以通过调用取像函数或外部触发信号来获取图像。

4.自由运行(Free Run Triggering)

这种触发方式下,取像系统以相机所能支持的最大帧率取像,你在应用程序中必须通过调用Complete Acquire来获取下一个可用图像,不能再使用Start Acquire。

1.5.CogAcqFifoTool工具设置步骤

(1)选择硬件,设置取像参数:

(2)设置触发方式:

(3)图像属性:

(4)设置GigE参数:

(5)设置自定义属性参数:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI机器视觉 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.2.取像缓存队列(Acquisition FIFOs)
  • 1.5.CogAcqFifoTool工具设置步骤
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档