注册登陆后可查看附件和大图,以及购买相关内容
您需要 登录 才可以下载或查看,没有账号?注册会员
x
LabVIEW Vision获取相机所有属性及所有视频模式在使用LabVIEW编写机器视觉与图像处理程序时,都需要知道相机的属性Attributes与视频模式(Video Mode)。如果使用的驱动是DLL,那么就只能看考相机厂家提供的DLL的说明手册。如果是使用的驱动是NI的IMAQdx,则可以使用IMAQdx中的两个函数来完成这些操作。
LabVIEW Vision获取相机所有属性及所有视频模式
LabVIEWVision获取相机所有属性及所有视频模式 IMAQdx Enumerate Attributes.vi枚举属性函数
IMAQdx Enumerate Attributes.vi枚举属性函数
IMAQdxEnumerate Attributes.vi枚举属性函数 枚举属性函数可以枚举相机支持的所有属性。枚举的数据包含了属性的类型、是否允许读写、属性名称等。 Session In为相机摄像头的引用输入。 Root为属性树的根。相机的属性一般会分成好几个根域(树形结构的多个根),如采集相机AcquisitionAttributes、相机属性CameraAttributes、相机信息CameraInformation、状态信息StatusInformation等。这时可以在ROOT中指定需读取哪个根的属性,如果为空,则读取所有支持的属性。 Visibility可见性:用于指定枚举相机属性的可见程度。其中有Sample简单、Intermediate中等、Advanced高级三种级别。使用简单,则枚举少量的属性。使用高级,则枚举所有属性。中间枚举的属性居于简单和高级之间。至于具体枚举哪些属性,没有参考意见。一般相机的重要属性如快门、增益等这些都是会被枚举的,而如位深、像素偏移量等,不是很影响图像的,则可能在简单可见性中不会被枚举。 Session Out相机引用输出。 Attribute Information Array属性信息数组:显示所有枚举出来的信息。
Attribute Information Array属性信息数组
AttributeInformation Array属性信息数组 属性信息数组中,包含了: Attribute Type:属性类型,可能的属性类型包含了U32、I64、DBL、String、Enum、Bool及Command。 Readable:是否可读,返回真时为可读。 Writeable:是否可写,返回真时为可写。 Attribute Name:属性名称。属性名称指定了当前的属性在属性树中的完全限定名称(为了避免重复,这些属性名称是唯一的)。
得到数据后的Attribute Information Array属性信息数组
得到数据后的AttributeInformation Array属性信息数组 IMAQdx Enumerate Video Modes.vi枚举视频属性函数
IMAQdx Enumerate Video Modes.vi枚举视频属性函数
IMAQdxEnumerate Video Modes.vi枚举视频属性函数 枚举视频属性函数,将枚举出相机支持的所有视频模式。 Session In:相机摄像头的引用输入。 Session Out:相机引用输出。 Video Modes:视频模式数组。
视频模式输出数组
视频模式输出数组 视频模式输出数组是一个包含了两个簇元素的簇数组。其中一个是Video Mode用于指定当视频模式,是一个无符号数字。另一个是Video Mode Name视频模式名称。用于指定视频模式的具体名称,如640×480 Mono8这样的。一般来讲,我们会将视频模式的名称赋值给一个下拉列表以供用户选择。而用户选择的下拉列表的值,则又会赋值给Video Mode属性(是相机引用中的属性节点中的单独的视频模式属性,可以写)。这样就可以改变相机的视频模式了。 Current Mode:当前(视频)模式。即当前选择的视频模式的值。 下面来看一下使用上面的两个函数读取相机的属性与视频模式: 枚举相机属性与视频模式 这里的函数面板其实很简单,只需要打开相机,然后再使用上面的两个枚举函数即可。
枚举相机属性和枚举视频模式效果
枚举相机属性和枚举视频模式效果 注意,通过上面的读取所有相机属性函数获得的相机属性值,其中如果属性的类型是枚举型型时,并不能直接获得其中的枚举的所有值。这时如果是相机属性,则可以使用属性节点中的ActiveAttributes属性(写入相应的枚举属性名称)和Enum属性(读取所有的枚举字符串Enum Strings和枚举值Enum Values)。而如果是其它根中的枚举属性,则无法使用此方法,如果属性节点中有其对应的属性,则可以直接使用属性值获得对应的枚举,而如果无相应的枚举属性,则只能依赖MAX查看后,再手动定义了。 通过属性节点获得相机属性中的枚举字符串
获取相机属性枚举字符串效果
获取相机属性枚举字符串效果
|