数字相机开发说明书(3)

2019-03-22 21:37

RES_MODE1--640*512,RES_MODE2--320*256。

MV20xxUx系列摄像机的分辨率:RES_MODE0--1600*1200,RES_MODE1--800*600,RES_MODE2--400*300。

MV31xxUx系列摄像机的分辨率:RES_MODE0--2048*1536,RES_MODE1--1024*768,RES_MODE2--640*480,RES_MODE3--512*384。

有关摄像机分辨率的信息,参见函数HVGetDeviceInfo。 范例:HVSetResolution (hDevice1,RES_MODE1); 参看:HVSetOutputWindow。

4.函数:HVSetOutputWindow //设置图像输出(Output)窗口

原型:HVSTATUS__stdcall HVSetOutputWindow(HHV hhv,int nStartX,int nStartY, Int nWidth,int nHeight) 参数:

HHVhhv; 摄像机句柄。

intnStartX; 输出窗口左上角x坐标,数值应为4的倍数。 intnStartY; 输出窗口左上角y坐标,数值应为2的倍数。 intnWidth; 输出窗口宽度,数值应为4的倍数。 intnHeight; 输出窗口高度,数值应为2的倍数。

返回值:调用成功,返回STATUS_OK,否则返回错误代码。

说明:设置图像输出(Output)窗口,输出窗口是指图像数据从摄像机输出时的起始位置 和大小。输出窗口大小只能等于或小于当前分辨率的大小。需要特别说明的是摄像机MV400Ux,在调节窗口时,需要满足条件: nWidth*rate+HorizontalBlanking+0x5e>0x294 rate取值:

分辨率Mode0:rate=1;Mode1:rate=2

范例:HVSetOutputWindow (hDevice1,0,0,640,512); 参看:HVSetResolution。

5.函数:HVSetBlanking //设置摄像机的消隐值,

原型:HVSTATUS__stdcallHVSetBlanking(HHVhhv,intnHor,intnVert); 参数:

HHVhhv; 摄像机句柄。 intnHor; 行消隐值。 intnVert; 场消隐值。

返回值:调用成功,返回STATUS_OK,否则返回错误代码。

说明:设置摄像机的消隐值,消隐的取值范围通过函数HVGetDeviceInfo得到,请参考 HVGetDeviceInfo函数说明。

范例:HVSetBlanking(hDevice1,20,0);

6.函数:HVSetSnapMode //设置图像的采集方式。

原型:HVSTATUS__stdcallHVSetSnapMode(HHVhhv,HV_SNAP_MODEmode); 参数:

HHVhhv; 摄像机句柄。

HV_SNAP_MODEmode; 图像采集模式: CONTINUATION连续方式; TRIGGER 外触发方式;

TRIGGER_EDGE边缘外触发;

TRIGGER_LEVEL电平外触发。

返回值:调用成功,返回STATUS_OK,否则返回错误代码。 说明:设置图像的采集方式。

范例:HVSetSnapMode(hDevice1,CONTINUATION);

仅MV31xxUx摄像机支持TRIGGER_EDGE和TRIGGER_LEVEL两种模式。

7.函数:HVSetTriggerPolarity //设置外触发信号的极性。

原型:HVSTATUS__stdcallHVSetTriggerPolarity(HHVhhv,HV_POLARITYpolarity); 参数:

HHVhhv; 摄像机句柄。

HV_POLARITYpolarity; 外触发信号的极性: LOW 下降沿或低电平有效; HIGH上升沿或高电平有效。

返回值:调用成功,返回STATUS_OK,否则返回错误代码。

说明:当摄像机为外触发模式采集图像时,设置外触发信号的极性。 范例:HVSetTriggerPolarity(hDevice1,LOW);

8.函数:HVSetStrobePolarity //设置摄像机输出的闪光灯信号的极性。

原型:HVSTATUS__stdcallHVSetStrobePolarity(HHVhhv,HV_POLARITYpolarity); 参数:

HHVhhv; 摄像机句柄。

HV_POLARITYpolarity; 闪光灯信号的极性: LOW下降沿或低电平有效; HIGH上升沿或高电平有效。

返回值:调用成功,返回STATUS_OK,否则返回错误代码。 说明:设置摄像机输出的闪光灯信号的极性。 范例:HVSetStrobePolarity(hDevice1,LOW);

9.函数:HVSetSnapSpeed //设置图像的采集速度

原型:HVSTATUS__stdcallHVSetSnapSpeed(HHVhhv,HV_SNAP_SPEEDspeed); 参数:

HHVhhv; 摄像机句柄。

HV_SNAP_SPEEDspeed; 图像采集速度: NORMAL_SPEED正常速度; HIGH_SPEED高速。

返回值:调用成功,返回STATUS_OK,否则返回错误代码。

说明:设置图像的采集速度,例如MV1300UC,MV1300UM,分辨率为1280*1024时,高速 采集为15fps,正常速度采集时为7.5fps;MV2000UC分辨率为1600*1200时,高速采集为10fps,正常速度采集时为5fps;MV3000UC分辨率为2048*1536时,高速采集为6fps,正常速度采集时为3fps。

范例:HVSetSnapMode(hDevice1,NORMAL_SPEED);

10.函数:HVEnableVideoMirror //设置采集图像的垂直方向镜像功能。

原型:HVSTATUS__stdcall HVEnableVideoMirror(HHVhhv,HV_MIRROR_DIRECTION dir,BOOLbEnable) 参数:

HHVhhv;摄像机句柄。

HV_MIRROR_DIRECTIONdir; 图像采集的镜像方向。

BOOLbEnable; TRUE允许,FALSE 禁止。

返回值:调用成功,返回STATUS_OK,否则返回错误代码。 说明:设置采集图像的垂直方向镜像功能。

部分摄像机同时支持垂直、水平和完全镜像,其他摄像机都只支持垂直镜像。

11.函数:HVADCControl //摄像机的模拟/数字转换A/D控制。

原型:HVSTATUS__stdcallHVADCControl(HHVhhv,BYTEbyParam,longlValue); 参数:

HHVhhv; 摄像机句柄。 BYTEbyParam; 控制参数, ADC_BITS模拟/数字转换级别;

ADC_BLKLEVEL_CAL 黑电平参数调节允许;

ADC_BLKLEVEL_CAL_REDCHANNEL 红色通道黑电平调节;

ADC_BLKLEVEL_CAL_GREENCHANNEL1绿色通道1黑电平调节; ADC_BLKLEVEL_CAL_GREENCHANNEL2绿色通道2黑电平调节; ADC_BLKLEVEL_CAL_BLUECHANNEL蓝色通道黑电平调节; longlValue; 参数值,设置模拟数字转换级别,取值, ADC_LEVEL0; ADC_LEVEL1; ADC_LEVEL2; ADC_LEVEL3。

设置黑电平参数调节允许,取值, TRUE允许;FALSE 禁止。 设置黑电平参数,取值, -255到255。

返回值:调用成功,返回STATUS_OK,否则返回错误代码。 说明:摄像机的模拟/数字转换控制。

12.函数:HVAGCControl //摄像机的自动增益控制。

原型:HVSTATUS__stdcallHVAGCControl(HHVhhv,BYTEbyParam,longlValue); 参数:

HHVhhv; 摄像机句柄。 BYTEbyParam; 控制参数,

AGC_GAIN_RED_CHANNEL 红通道增益调节;

AGC_GAIN_GREEN_CHANNEL1 绿通道1增益调节; AGC_GAIN_GREEN_CHANNEL2 绿通道2增益调节; AGC_GAIN_BLUE_CHANNEL 蓝通道增益调节; longlValue; 增益大小,

MV-51系列摄像机增益0-63。其他MV系列摄像机分通道的增益调节取值,0-127。 返回值:调用成功,返回STATUS_OK,否则返回错误代码。 说明:摄像机的自动增益控制。

13.函数:HVAECControl //摄像机的自动曝光控制。

原型:HVSTATUS__stdcallHVAECControl(HHVhhv,BYTEbyParam,longlValue); 参数:

HHVhhv摄像机句柄。

BYTEbyParam; 控制参数,

AEC_EXPOSURE_TIME曝光系数; AEC_SHUTTER_SPEED快门速度; AEC_SHUTTER_UNIT快门速度单位; longlValue; 参数值,

功能AEC_SHUTTER_UNIT取值:

HV_SHUTTER_UNIT的类型,SHUTTER_US 微秒;SHUTTER_MS 毫秒。 AEC_SHUTTER_SPEED 和AEC_SHUTTER_UNIT的值决定摄像机的快门速度:最小值20微秒,最大值1秒。

返回值:调用成功,返回STATUS_OK,否则返回错误代码。 说明:摄像机的自动曝光控制。

MV 系列摄像机通过曝光系数来设置摄像机的曝光时间,曝光系数与曝光时间的换算方法, 参见相关MV系列摄像机的使用说明书中“1.2 摄像机的快门”的内容。 范例:为摄像机设置16ms曝光时间 //方法1:

HVAECControl(hhv,AEC_SHUTTER_SPEED,16);

HVAECControl(hhv,AEC_SHUTTER_UNIT,SHUTTER_MS); //方法2:

计算曝光系数dExposure

HVAECControl(hhv,AEC_EXPOSURE_TIME,dExposure);

14.函数:HVCommand 数字摄像机的操作命令函数

原型:

HVSTATUS__stdcall HVCommand(HHV hhv,HV_COMMAND_CODE CommandCode,void *pContext, int *pLength); 参数:

HHVhhv; 摄像机句柄。

HV_COMMAND_CODECommandCode;功能代码:

CMD_SET_STROBE_SIGNAL_MODE 控制闪光灯信号模式的功能码 CMD_SET_EXPOSURE_MODE 控制曝光模式的功能码

CMD_SET_ROW_NOISECORR_CONTROL控制行噪声校正开关的功能码 CMD_HVAPI_CONTROL 执行HV_CONTROL_CODE定义的功能; void*pContext; 指向实现功能所需参数的缓冲区。其中,功能:

CMD_SET_STROBE_SIGNAL_MODE 参数为结构HV_SIGNAL_MODE; CMD_SET_EXPOSURE_MODE 参数为枚举类型HV_EXPOSURE_MODE; CMD_SET_ROW_NOISECORR_CONTROL参数为枚举类型HV_NOISECORR_CONTROL

CMD_HVAPI_CONTROL参数为结构HVAPI_CONTROL_PARAMETER; int*pLength; 参数缓冲区的大小,以字节为单位。其中,功能: CMD_SET_STROBE_SIGNAL_MODE 参数缓冲区是8字节; CMD_SET_EXPOSURE_MODE 参数缓冲区是4字节;

CMD_HVAPI_CONTROL 参数缓冲区是24字节。

返回值:调用成功,返回STATUS_OK,否则返回错误代码。

说明:数字摄像机的操作命令函数,通过指定不同的功能代码,执行各种摄像机的操作。 其中,功能代码:

CMD_HVAPI_CONTROL

执行HV_CONTROL_CODE定义的功能,ORD_QUERY_LAST_STATUS_PRESENCE,具体调用方法可

参照范例1;ORD_GET_LAST_STATUS,具体调用方法可参照范例2。 范例:

//范例1:查询是否支持,获取摄像机的工作状态

HV_RES_QUERY_LAST_STATUS_PRESENCE ResFeature; HVAPI_CONTROL_PARAMETER p; p.pInBuf =NULL; p.dwInBufSize=0;

p.pOutBuf=&ResFeature;

p.dwOutBufSize=sizeof(ResFeature); p.pBytesRet =NULL;

p.code=ORD_QUERY_LAST_STATUS_PRESENCE; intdwSize=sizeof(p);

HVSTATUSstatus=HVCommand(hhv,CMD_HVAPI_CONTROL,&p,&dwSize); //范例2:获取摄像机的采集状态

HV_ARG_GET_LAST_STATUS ArgFeature;

ArgFeature.type=HV_LAST_STATUS_TRANSFER; HV_RES_GET_LAST_STATUS ResFeature; HVAPI_CONTROL_PARAMETER p; p.pInBuf =&ArgFeature;

p.dwInBufSize=sizeof(ArgFeature); p.pOutBuf =&ResFeature;

p.dwOutBufSize=sizeof(ResFeature); p.pBytesRet =NULL;

p.code =ORD_GET_LAST_STATUS; int dwSize=sizeof(p);

HVCommand(hhv,CMD_HVAPI_CONTROL,&p,&dwSize); if(ResFeature.status==0)

{// 当状态值等于0时,表示摄像机图像采集正常 }

elseif(ResFeature.status==STATUS_FILE_INVALID)

{ // 当状态值不等于-18时,表示摄像机发生1次丢帧行为,在连续高速采集时, 1次丢帧行为可能包括1帧以上图像。 }

elseif(This->dwLastStatus==0xc0000012||This->dwLastStatus==0xc0000011)

{//此类传输错误能够自动恢复,不需要用户自己处理,用户可以通过查询此类错误, 来累计发生错误的次数 }


数字相机开发说明书(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:占用园林绿化带施工方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: