SIMULTANEITY 同时模式 19.HV_NOISECORR_CONTROL
Typedef enumtag HV_NOISECORR_CONTROL{
NOISECORR_ENABLE=0, NOISECORR_DISABLE=1 }HV_NOISECORR_CONTROL;
HV_NOISECORR_CONTROL列举摄像机的噪声校正控制开关。 NOISECORR_ENABLE 噪声校正控制开启 NOISECORR_DISABLE 噪声校正控制关闭
2.1.1.2结构
1.HV_SANP_INFO
Typedef structtag HV_SANP_INFO{
HHV hhv; Int nDevice; Int nIndex; Void *pParam; }HV_SNAP_INFO;
HV_SNAP_INFO 结构包含执行采集图像到内存的操作中,摄像机的工作状态。在连续采集图像到内存的过程中,标示当前工作的摄像机设备,图像数据缓冲区的序号和用户定义的参数。 成员
hhv 标示当前工作的摄像机的句柄。
nDevice 标示当前工作的摄像机的序号(从1开始)。
nIndex 标示当前摄像机采集的图像数据缓冲区的序号(从0开始)。 pParam 指向用户定义的参数。
2.HV_SNAPPROC
Typedef int(CALLBACK*HV_SNAPPROC)(HV_SNAP_INFO*pInfo);
HV_SNAPPROC标示回调函数的声明。在采集图像到内存控制程序中,用户定义回调函数,在函数体中编写自己的程序,如,图像数据的处理等。使用函数HVOpenSnap注册回调函数,由摄像机采集控制程序调用。
3.HV_CHECK_PARAM
Typedef structtag HV_CHECK_PARAM{
BYTE byParam1; BYTE byParam2; BYTE byParam3; BYTE byParam4; }HV_CHECK_PARAM;
HV_CHECK_PARAM 结构包含给定的摄像机查验参数。 成员:
byParam1 参数1。 byParam2 参数2。 byParam3 参数3。 byParam4 参数4。
4.HVAPI_CONTROL_PARAMETER
Typedef structtag HVAPI_CONTROL_PARAMETER{
HV_CONTROL_CODE code; void *pInBuf;
DWORD dwInBufSize; void *pOutBuf;
DWORD dwOutBufSize; DWORD *pBytesRet;
}HVAPI_CONTROL_PARAMETER;
HVAPI_CONTROL_PARAMETER结构用于CMD_HVAPI_CONTROL功能的输入输出参数。 成员:
Code功能码,参见HV_CONTROL_CODE,
其它成员pInBuf,dwInBufSize,pOutBuf,dwOutBufSize和pBytesRet描述code的参数,每个功能都有各自对应的输入输出参数;
pInBuf 指向输入缓冲区,如果code指明的操作不需要输入参数,pInBuf设置为NULL; dwInBufSize 输入缓冲区大小,单位:字节,如果code指明的操作不需要输入参数,dwInBufSize设置为0;
pOutBuf 指向输出缓冲区,如果code指明的操作不需要输出参数,pOutBuf设置为NULL;
dwOutBufSize 输出缓冲区大小,单位:字节,如果code指明的操作不需要输入参数,dwOutBufSize设置为0;
pBytesRet 指向一个DWORD变量,接收pOutBuf 中实际输出的数据大小,单位:字节,如果输出缓冲区太小,
HVCommand函数返回STATUS_NOT_ENOUGH_SYSTEM_MEMORY,并且pBytesRet为0。
5.HV_RES_QUERY_LAST_STATUS_PRESENCE
Typedef structtag HV_RES_QUERY_LAST_STATUS_PRESENCE{
DWORD:29;
DWORD Transfer :1; DWORD Snap :1; DWORD Control :1;
}HV_RES_QUERY_LAST_STATUS_PRESENCE;
HV_RES_QUERY_LAST_STATUS_PRESENCE结构用于
ORD_QUERY_LAST_STATUS_PRESENCE的输出参数,描述是否支持,获取摄像机的工作状态。 成员
Transfer 标示是否支持在用户定义的回调函数中获取摄像机采集图像操作状态码; Snap 标示是否支持获取摄像机采集图像操作状态码; Control 标示是否支持,获取摄像机控制操作错误码。
6.HV_ARG_GET_LAST_STATUS
Typedef structtag HV_ARG_GET_LAST_STATUS{
HV_LAST_STATUS type;
}HV_ARG_GET_LAST_STATUS;
HV_ARG_GET_LAST_STATUS结构用于ORD_GET_LAST_STATUS的输入参数,描述要获取的摄像机工作状态类型。 成员
type 摄像机工作状态类型,参见HV_LAST_STATUS。
7.HV_RES_GET_LAST_STATUS
Typedef structtag HV_RES_GET_LAST_STATUS{
DWORD status;
}HV_RES_GET_LAST_STATUS;
HV_RES_GET_LAST_STATUS结构用于ORD_GET_LAST_STATUS的输出参数,描述摄像机工作状态。 成员
status 标识摄像机工作状态码或错误码。
8.HV_SIGNAL_MODE
Typedef structtag HV_SIGNAL_MODE{
Int Polarity;//0:LOW;1:HIGH
Int Mode; //0:SIGNAL_IMPULSE;1:SIGNAL_LEVEL }HV_SIGNAL_MODE;
HV_SIGNAL_MODE结构用于设置摄像机闪光灯信号的模式和极性。 成员
Polarity 标识摄像机闪光灯信号的极性。 Mode 标示摄像机闪光灯信号的模式。
2.1.1.3宏
1.HV_SUCCESS
BOOL HV_SUCCESS (status)
HV_SUCCESS宏检查函数执行的返回状态。 参数:
HVSTATUSstatus; 函数执行的返回状态。
返回值:标识函数执行结果,成功为TRUE;失败为FALSE。 注释:HV_SUCCESS在HVDef.h中的定义如下,
#defineHV_SUCCESS(status)((status)==STATUS_OK)
2.HV_VERIFY
HV_VERIFY (status)
HV_VERIFY宏校验函数执行是否成功。HV_VERIFY宏只在调试(DEBUG)版的执行程序中运行,函数执行成功,不显示信息;函数执行不成功,则弹出对话框,显示错误信息。在发布(RELEASE)版的执行程序中不运行,也不产生任何代码。 参数:
HVSTATUSstatus; 函数执行的返回状态。 注释:
HV_VERIFY在HVDef.h中的定义如下, #if def_DEBUG
#defineHV_VERIFY(status)\\ if((status)!=STATUS_OK){\\ ::MessageBox (NULL,\\ HVGetErrorString(status),\\
\,MB_ICONWARNING|MB_OK);\\ } #else
#defineHV_VERIFY(status)(status) #endif
2.1.2 函数说明
2.1.2.1数字摄像机的控制
数字摄像机的开始(初始化)、结束,设置分辨率、图像窗口、采集模式等。
1.函数:BeginHVDevice //初始化摄像机,获得其设备句柄,分配相应的资源。
原型:HVSTATUS__stdcall BeginHVDevice(int nDevice,HHV *pHandle)
参数:
Int nDevice; 摄像机序号,由1开始。 HHV *pHandle; 指向摄像机设备句柄。
返回值:调用成功,返回STATUS_OK,否则返回错误代码。
说明:开始指定摄像机操作,初始化摄像机,获得其设备句柄,分配相应的资源。 输入参数nDevice 是摄像机的逻辑序号,按照维视数字摄像机序列,如MV1300UC、
MV2000UC?MVxxx等,由低到高排列确定,同一型号设备按所连接USB接口序号排列。例如:
用户系统中有3支MV1300UC,按USB接口序号,则摄像机的序号分别为1、2、3。如果nDevice的值超过当前系统实际的摄像机数,则返回STATUS_NO_DEVICE_FOUND。 调用函数
HVGetDeviceInfo //可以确定当前摄像机类型。
EndHVDevice //摄像机使用完毕,调用函数EndHVDevice结束。
范例:如果系统中安装了两支或两支以上的摄像机,则可以按下面调用得到每支摄像机的 设备句柄。
BeginHVDevice(1,&hDevice1);//打开摄像机1 BeginHVDevice(2,&hDevice2);//打开摄像机2 ??? ???? //类推?
参看:EndHVDevice,HVGetDeviceInfo。
2.函数:EndHVDevice //结束指定摄像机操作,释放其设备句柄和资源
原型:HVSTATUS__stdcall EndHVDevice(HHVhhv) 参数:
HHVhhv; 摄像机句柄。
返回值:调用成功,返回STATUS_OK,否则返回错误代码。 说明:结束指定摄像机操作,释放其设备句柄和资源。
调用函数前,必须停止摄像机工作,如果摄像机正在采集图像时调用函数,则返回 STATUS_IN_WORK。
范例:EndHVDevice (hDevice1);//关闭摄像机1
EndHVDevice(hDevice2);//关闭摄像机2 参看:BeginHVDevice。
3.函数:HVSetResolution //设置摄像机的分辨率
原型:HVSTATUS__stdcall HVSetResolution(HHV hhv,HV_RESOLUTION resoultion); 参数:
HHVhhv; 摄像机句柄。
HV_RESOLUTIONresolution; 图像分辨率。
返回值:调用成功,返回STATUS_OK,否则返回错误代码。
说明:设置摄像机的分辨率,MV13xxUx系列摄像机的分辨率:RES_MODE0--1280*1024,