(MatLab、Labview)通过Directshow接口访问相机参数设置方法
![(MatLab、Labview)通过Directshow接口访问相机参数设置方法](https://img.360docs.net/img7f/1exu9zu7njl2wucoxfyarxem0jg6gxno-f1.webp)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DirectShow接口访问相机参数设置方法本文档适用于所有适用directshow接口访问相机的程序,例如MATLAB 和Labview的ImaqDx接口、Halcon的Directshow接口等。
MATLAB中,可以通过如下界面设置相机参数:
Labview的NIMAX中可以通过如下界面设置相机参数:
下面以Labview为例,介绍Labview中如何通过ImaqDx接口访问迈德威视工业相机。
目前,我们提供三种方式,在Labview中访问我们的相机:
1.GigeVision接口。仅我司GigE相机支持该方式访问。
2.直接基于SDK的DLL文件调用的方式。该方式支持我们所有型号相机。
例程在安装目录的DEMO/LABVIEW/USEDLL文件夹中。
3.通过ImaqDx使用Directshow接口访问相机。该方式支持我们所有型
号相机。
Directshow接口是windows系统上的音视频标准接口,定义了一些预先约定好的协议,但是由于协议定义时间比较早,也没有为工业摄像头考虑参数接口,所以接口的参数配置上,没有像使用我们的SDK那样灵活。我们针对此问题,做了一些特殊处理,扩展了Dircetshow接口中Camera Atrributes的“White Balance”属性,目前可以该方式进行如下操作:
1.设置相机工作模式(连续采集、软触发、硬触发)
方法:在Camera Atrributes中,设置“White Balance”属性的Value
值
●为0,则相机进入连续工作模式;
●设置为1,则相机进入软触发工作模式;
●设置为2则相机进入硬触发工作模式。
2.执行一次软触发
方法:在Camera Atrributes中,设置“White Balance”属性的Value 值为3,则相机进行一次软触发,如果要多次软触发,则重复设置
“White Balance”属性的Value值为3即可,每设置一次,进行一次软触发。(该命令必须是先将相机设置为软触发模式后才有效)。3.设置硬件触发信号种类(上边沿、下边沿、高电平、低电平)
方法:在Camera Atrributes中,设置“White Balance”属性的Value 值
●为4,则选择触发信号的上边沿跳变为触发条件;
●为5,则选择触发信号的下边沿跳变为触发条件;
●为6,则选择高电平为触发条件;
●为7,则选择低电平为触发条件。
(该命令必须是先设置相机为外触发工作模式时才有效)。
4.设置闪光灯信号输出模式
方法:在Camera Atrributes中,设置“White Balance”属性的Value 值
●为8,则相机输出闪光灯的信号时序自动产生;
●为9,则相机输出闪光灯信号的时序,由程序配置产生,比如可以
指定输出的脉冲宽度,极性、延时时间等。
5.设置相机上GPIO的电平值(仅对OutPut类型IO有效)
方法:在Camera Atrributes中,设置“White Balance”属性的Value 值
●为10,则设置相机上第1个OutPut IO的状态为低电平。
●为11,则设置相机上第1 个OutPut IO的状态为高电平。
●为12,则设置相机上第2个OutPut IO的状态为低电平。
●为13,则设置相机上第2 个OutPut IO的状态为高电平。
●为14,则设置相机上第3个OutPut IO的状态为低电平。
●为15,则设置相机上第3 个OutPut IO的状态为高电平。
●为16,则设置相机上第4个OutPut IO的状态为低电平。
●为17,则设置相机上第4 个OutPut IO的状态为高电平。
●为18,则设置相机上第5个OutPut IO的状态为低电平。
●为19,则设置相机上第5 个OutPut IO的状态为高电平。
●为20,则设置相机上第6个OutPut IO的状态为低电平。
●为21,则设置相机上第6 个OutPut IO的状态为高电平。
●为22,则设置相机上第7个OutPut IO的状态为低电平。
●为23,则设置相机上第7 个OutPut IO的状态为高电平。
●为24,则设置相机上第8个OutPut IO的状态为低电平。
●为25,则设置相机上第8 个OutPut IO的状态为高电平。
6.设置相机上GPIO的电平值(仅对OutPut类型IO有效)
方法:在Camera Atrributes中,先设置“White Balance”属性的Value 值为以下的数值之一,然后再进行一次Camera Atrributes 的
“White Balance”属性读取操作,返回的value值就表示电平状态,0表示低电平,1表示高电平,255表示该相机不支持对应的IO读取操作。如果需要反复读取某个IO的状态,则需要先进行一次设置操作,
再进行读取操作,如此反复,否则IO状态不会更新。
●为30,则读取相机上第1个InPut IO的状态。
●为31,则读取相机上第2个InPut IO的状态。
●为32,则读取相机上第3个InPut IO的状态。
●为33,则读取相机上第4个InPut IO的状态。
●为34,则读取相机上第5个InPut IO的状态。
●为35,则读取相机上第6个InPut IO的状态。
●为36,则读取相机上第7个InPut IO的状态。
●为37,则读取相机上第8个InPut IO的状态。
7.设置图像采样速度(帧率)
方法:在Camera Atrributes中,设置“White Balance”属性的Value 值
●为50,则设置相机采集速度为低速模式;
●为51,则设置相机采集速度为中速模式;
●为52,则设置相机采集速度为高速模式;
●为53,则设置相机采集速度为超高速模式;
8.图像水平和垂直翻转操作
方法:在Camera Atrributes中,设置“White Balance”属性的Value 值
●为60,禁止图像水平翻转;
●为61,使能图像水平翻转;
●为62,禁止图像垂直翻转;