您好,正如您所附代码,IMAQdx只能获取属性节点中所附的属性。比如Gain这个属性。有些属性设置是依赖相机的,就只能在MAX中进行设置。
NI AE Zheng
您好
这个程序应该是老版本的1394驱动(Legacy),所以相机引用类型不能和现在的1394驱动直接相连。但是很奇怪的是,我在安装Vision Acquisition后在Legacy的1394选板下面也没有找到那个设置属性的VI。
如果您这个程序可以使用,那么不要使用IMAQdx Open Camera.vi打开相机,而使用1394 Legacy子选板下的IMAQ 1394 Init.vi来打开相机,就应该可以和后面那几个VI相连。
另一个方面,如果您只是想读取相机的属性,可以通过IMAQdx Enumerate Attributes.vi这个VI来进行,可以自由指定相机所特有的属性并读取其设置值,但是我没有找到像您这个程序这样设置这些属性的VI。
另外有一点,LabVIEW不同的语言版本可能也有些许差别,我注意到您这个程序是在德语版下的,不知道这一点是否有影响。如果可以的话,我想麻烦您把这个VI贴出来可以吗?
Zheng
您好,
现在我用NI IMAQdx -> Legacy下面的VIs加上上次找到的程序重新编写了一下,程序在附件里,现在能够从摄像头获取图像。同样的那几个设置属性的VI在我的Labview8.2中也没有找到。另外,请问如何才能知道这些属性值的取值范围,以及如何设置图像的大小,用哪个VI?
要是用现有的VI,该如何来编写一个随时可以调节这几个属性的程序,而不是在MAX中?
感谢您贴出这个程序,我发现对应的VI在新版本中的确是找不到,而且我没有找到这些VI底层调用的DLL,您能正常使用这些VI编写的程序吗?
属性的范围是依赖于相机的,所以无法通过MAX或IMAQdx驱动得到这些属性的范围。
您说图像的大小是指什么?如果是不想使用全部CCD像素,那么需要在MAX里设置。如果是已经采集后想修改图像大小,可以使用Vision Utility>>Image Manipulation>>IMAQ resample来修改图像大小。
如果希望随时调整属性,可以把调整属性的部分放在一个while循环中,但是注意,imaq的属性设定之后就在本次session中一直有效,所以需要修改后再重建session,具体可以参考http://digital.ni.com/public.nsf/allkb/037FF407F0160C568625750600065D54?OpenDocument