石鑫华视觉 发表于 2012-12-3 09:01:18

LVision-为何在LabVIEW的Grab采集中无法更新IMAQ属性,但在MAX中却可以?

来源:NI中国官方网站
问题:我注意到如果在Measurement and Automation Explorer中开始一个Grab采集,我可以改变采集参数,然后在Grab的过程中他们就会自动更新。

然而,如果在一个VI中创建一个使用IMAQ属性节点的while循环,并且在Grab采集过程中通过输入控件改变参数值,这些参数并不会得到更新。为什么会出现这种情况?如何才能在图像采集过程中使参数得到更新呢?

解答:一旦LabVIEW开始了一个Grab采集,或者换句话说一旦IMAQ Grab Setup被调用,所有的采集参数就被设置好了。因此Grab开始之后就不能修改参数(这里NI介绍有点不正确,不能修改的是属性参数中的固定项目,例如采集属性acquisition attributes中的超时、数据包尺寸之类的,而使用相机引用中的相机属性camera attributes中的激活属性activeAttribute设置的属性,如曝光时间、增益、触发等,则是可以实时修改的)。与之相比,Measurement and Automation Explorer事实上是在后台停止了采集,修改参数,然后重新开始采集。这样看上去就是能在采集过程中修改参数。
因为LabVIEW不会自动这样做,您可以自己再创建一个循环来检查输入控件值的改变。一旦检查到改变,就通过IMAQ Stop停止采集并读取新的参数。然后再次调用IMAQ Grab Setup应用新的参数。

配置好Grab采集之后,通过IMAQ Grab Acquire在while循环外采集一帧图像。在第一次循环中,通过IMAQ Stop停止采集并且更新黑白参考电平的属性值。接下来,分别调用IMAQ Grab Setup和IMAQ Grab Acquire应用这些参数并采集一帧图像。在接下来的循环次数中,使用一个"不相等"比较函数和移位寄存器检查White and Black Reference控件的值。如果检测到变化就停止采集并且更新相关参数,否则就直接将图像和会话引用直接传递通过Case结构。

yuyeling 发表于 2013-3-19 20:36:38

好资料!好好学

jiayouxuexi 发表于 2013-4-11 23:29:20

啥也不说了,楼主就是给力!

wenbing0506 发表于 2013-4-13 09:41:23

支持石鑫华视觉,支持机器视觉论坛!

l150426 发表于 2013-8-23 15:58:55

问题才是我们前进的动力

wang4238501 发表于 2015-8-18 09:10:48

机器视觉,专业的石鑫华视觉http://shixinhua.com,专业的机器视觉论坛http://labviewvision.com

qiujinjin1987 发表于 2015-10-6 16:21:25

好东西。。。。。。。。。。。:$
页: [1]
查看完整版本: LVision-为何在LabVIEW的Grab采集中无法更新IMAQ属性,但在MAX中却可以?

LabVIEW HALCON图像处理入门教程(第二版)
石鑫华机器视觉与LabVIEW Vision图像处理PDF+视频教程11种全套
《LabVIEW Vision函数实例详解》教程-NI Vision所有函数使用方法介绍,基于NI VISION2020,兼容VDM21/22/23/24