您的位置 首页 培训

LabVIEW图画收集相关(一)

单次采集图像时,常用Snapvi来编程。,如果我们连续采集的话,就会想到如下的模式。snap但是上图中的模式,采集图像比较慢,因为Snapvi

单次收集图画时,常用Snap.vi来编程。,假如咱们接连收集的话,就会想到如下的形式。

snap

可是上图中的形式,收集图画比较慢,因为Snap.vi都包含了初始化和封闭等环节,最快的情况下也得需求120ms。NI为了处理这种问题,添加了Grab.vi来完结接连收集。程序框图如下:

grab

这种情况下一帧数据大约需求40ms。

​但是,在高速图画收集的使用中,咱们会发现上一种形式也会存在必定的问题,即当图画收集速度十分高时,处理程序还来不及处理当时的图画,图画缓冲区里边的数据现已被新的图画数据所覆盖了。

为了处理收集缓冲区缺乏的问题,咱们能够添加图画收集缓冲区。

NI-IMAQ供给了两种多缓冲区的方法,分别为Sequence和Ring。

Sequene和Ring

Sequence和Ring都是多缓冲区图画收集方法,区别是Sequence是单次收集,而Ring是接连收集,相似Snap和Grab。

​Sequence.vi最最重要的参数是Imahes In,这是一个图画数据缓冲区引证数组,里边包含了多个由Imaq Create.vi创立的图画数据缓冲区的引证。只要知道了多个图画数据缓冲区在哪里,IMAQ Sequence.vi才干完结多缓冲区的图画收集。

​Sequnce使用:

sequence使用

Ring图画收集方法(IMAQ的方法,IMAQdx还不太相同):

Ring图画收集方法需求由三个VI来完结,分别是IMAQ Configure List.vi​、IMAQ Configure Buffer.vi和IMAQ Extract.vi。

​IMAQ Configure List.vi完结缓冲区列表的装备,告知驱动程序缓冲区的数量,以接连仍是单次的方法进行图画收集以及缓冲区的方位。

​IMAQ Configure Buffer.vi把创立好的图画缓冲区别配到缓冲区列表的对应方位。

​IMAQ Extract Buffer.vi把收集到的图画从缓冲区中提取出来,为后续图画处理做准备。

如下图所示(因为图过长,仅截取要害代码)​

​第一步,调用IMAQ Configure List.vi告知驱动程序是以Continuous的方法进行图画收集,缓冲区的方位在system—也便是开发引证程序的主机上。

第二步,调用​IMAQ Configure Buffer.vi把创立好的图画缓冲区相关到缓冲区列表的对应方位上。

​第三步,调用IMAQ Start.vi敞开一个图画收集的进程,需求留意的是,在调用IMAQ Start.vi前,有必要调用IMAQ Configure List.vi和IMAQ Configure Buffer.vi来装备收集进程。

第四步,调用​IMAQ Extract Buffer.vi从缓冲区中把图画提取出来。

第五步,把IMAQ Extract Buffer.vi的Buffer to Exact参数设置为-1​表明开释当时被提取的缓冲区。IMAQ Extract Buffer.vi在提取图画数据时会对当时被提取的缓冲区进行维护,所以当收集进程完结时,需求开释当时被维护的缓冲区。

Ring图画收集方法完结的首要进程如上所述,其他过程便是我们了解的初始化收集硬件、开释图画收集硬件和开释缓冲区了。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/peixun/211089.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部