2,新增“Apps”; 3,新增“Common”; 4,新增“FileList”; 5,新增“MediaX”; 6,新增“OpenSource”; 7,新增“Samples”; 8,新增“SoftwareBusinessLines”.
939 lines
37 KiB
C++
939 lines
37 KiB
C++
#ifndef _CommDef_H_
|
||
#define _CommDef_H_
|
||
|
||
#ifndef _byte_def_
|
||
#define _byte_def_
|
||
typedef unsigned char BYTE, Byte, byte;
|
||
#endif
|
||
|
||
#include <thread>
|
||
#include <chrono>
|
||
#include <QMetaType>
|
||
#include <QString>
|
||
using namespace std;
|
||
|
||
typedef unsigned short UINT16;
|
||
|
||
|
||
//通信模块
|
||
enum Mudule_Type
|
||
{
|
||
Module_VL = 0, //可见光
|
||
Module_IR, //红外
|
||
Module_Arm_Trackpad, //跟踪板
|
||
Module_Servo_Control, //伺服
|
||
Module_Laser, //激光
|
||
Module_Dev_System, //设备系统
|
||
Module_Integrated_Control, //综控
|
||
Module_Integrated_Control_2, //综控2
|
||
Module_Control_Box, //操控盒
|
||
Module_VL_OTA, //可见光--OTA
|
||
Module_IR_OTA, //红外--OTA
|
||
Module_Arm_Trackpad_OTA, //跟踪板--OTA
|
||
Module_Servo_Control_OTA, //伺服--OTA
|
||
Module_Laser_OTA, //激光--OTA
|
||
Module_Dev_System_OTA, //设备系统--OTA
|
||
Module_Integrated_Control_OTA, //综控--OTA
|
||
Module_Integrated_Control_2_OTA, //综控2--OTA
|
||
Module_Integrated_Control_2_Record, //按键盒拍照录像单独一条协议
|
||
Module_Control_Box_OTA, //操控盒--OTA
|
||
Module_Test
|
||
};
|
||
|
||
// ******************************枚举类型******************************
|
||
// 红外控制命令枚举
|
||
// 主要命令包括:白热、黑热、亮度+、亮度-、对比度+、对比度-、调焦+、调焦-、
|
||
// 调焦停、变倍+、变倍-、变倍停、自动聚焦...
|
||
enum IRControlCommand
|
||
{
|
||
IRLensInit = 0, //红外镜头初始化
|
||
IRZoomInc, //变倍+
|
||
IRZoomDec, //变倍-
|
||
IRZoomStop, //变倍停止
|
||
IRFocusModeSet, //调焦模式设置
|
||
IRFocusInc, //变焦+
|
||
IRFocusDec, //变焦-
|
||
IRFocusStop, //聚焦停止
|
||
IRShutterMode, //快门模式设置
|
||
IRSharpnessON, //清晰度增强开
|
||
IRSharpnessOFF, //清晰度增强关
|
||
IRSharpnessInc, //清晰度增加
|
||
IRSharpnessDec, //清晰度减少
|
||
IRSharpnessSet, //清晰度设置
|
||
IRLumaInc, //亮度+
|
||
IRLumaDec, //亮度-
|
||
IRContrastInc, //对比度+
|
||
IRContrastDec, //对比度-
|
||
IRKeyMenu, //菜单按键
|
||
IRKeyExpertMenu, //专家菜单按键
|
||
IRKeyInc, //参数加按键
|
||
IRKeyDec, //参数减按键
|
||
IRKeyPopUp, //弹起按键
|
||
IRShutterCompensation, //快门补偿
|
||
IRSceneCompensation, //场景补偿
|
||
IRPolaritySW, //极性切换
|
||
IRDeadPixelCorrection, //坏点校正
|
||
IRDeadPixelSave, //坏点保存
|
||
IRDeadPixelClear, //坏点清除
|
||
IRPseudocolorMode, //伪彩模式
|
||
IRHighCorrection, //高温图像校正
|
||
IRTimeCheck, //定时校正
|
||
IRNoUse, //无含义
|
||
};
|
||
|
||
/*********************可见光模块***************/
|
||
enum VLControlCommand
|
||
{
|
||
VLGetState = 0, //
|
||
VLReboot,
|
||
VLReset,
|
||
VLSyncNtp,
|
||
VLGetVersion,
|
||
VLLensCtrl,
|
||
VLLensSettings,
|
||
VLLensInit, //红外镜头初始化
|
||
VLZoomSet, //变倍设置
|
||
VLZoomInc, //变倍+
|
||
VLZoomDec, //变倍-
|
||
VLZoomStop, //变倍停止
|
||
VLZoomDON, //数字变倍开
|
||
VLZoomDOFF, //数字变倍关
|
||
VLZoomDSet, //数字变倍设置
|
||
VLFocusModeset, //调焦模式设置
|
||
VLFocusModeget, //调焦模式获取
|
||
VLFocusInc, //变焦+
|
||
VLFocusDec, //变焦-
|
||
VLFocusSet, //聚焦设置
|
||
VLFocusStop, //聚焦停止
|
||
VLFocusAFSensitivity, //自动聚焦灵敏度
|
||
VLWbMode, //白平衡模式
|
||
VLExposureMode, //曝光模式
|
||
VLShutterMode, //快门模式设置
|
||
VLShutterReset, //快门速度默认
|
||
VLShutterInc, //快门速度增加
|
||
VLShutterDec, //快门速度减少
|
||
VLShutterSet, //快门速度设置
|
||
VLShutterSlowMode, //慢快门模式设置
|
||
VLBacklightON, //背光补偿打开
|
||
VLBacklightOFF, //背光补偿打关
|
||
VLBacklightMove, //背光补偿区域移动
|
||
VLApertureReset, //光圈大小复位
|
||
VLApertureInc, //光圈+
|
||
VLApertureDec, //光圈-
|
||
VLApertureSet, //光圈大小设置
|
||
VLSharpnessReset, //清晰度复位
|
||
VLSharpnessON, //清晰度增强开
|
||
VLSharpnessOFF, //清晰度增强关
|
||
VLSharpnessInc, //清晰度增加
|
||
VLSharpnessDec, //清晰度减少
|
||
VLSharpnessSet, //清晰度设置
|
||
VLFoggyON, //透雾打开
|
||
VLFoggyOFF, //透雾关闭
|
||
VLWdrON, //宽动态开
|
||
VLWdrOFF, //宽动态关
|
||
VLHormirrorON, //水平镜像开
|
||
VLHormirrorOFF, //水平镜像关
|
||
VLVermirrorON, //垂直镜像开
|
||
VLVermirrorOFF, //垂直镜像关
|
||
VLIcrFilterMode, //ICR滤光片模式
|
||
VLIcrAutomode, //自动ICR模式
|
||
VLIcrAutoSen, //自动ICR灵敏度
|
||
VLLumaSet, //亮度设置
|
||
VLContrastSet, //对比度设置
|
||
VLHueSet, //色调设置
|
||
VLSatuatureSet, //饱和度设置
|
||
VLNoUse,
|
||
};
|
||
|
||
// ******************************枚举类型******************************
|
||
// 跟踪板控制命令枚举
|
||
enum ARMTrackCommand
|
||
{
|
||
TrackGetState = 0, //获取运行状态
|
||
TrackReboot, //重启
|
||
TrackReset, //重置,恢复出厂设置
|
||
TrackGetVersion, //获取版本
|
||
|
||
TrackSetTrackingWHSub, //
|
||
TrackSetTrackingWHAdd,
|
||
TrackSetTrackingWSub,
|
||
TrackSetTrackingWAdd,
|
||
TrackSetTrackingHSub,
|
||
TrackSetTrackingHAdd,
|
||
TrackSetTrackingPTZUp,
|
||
TrackSetTrackingPTZDown,
|
||
TrackSetTrackingPTZLeft,
|
||
TrackSetTrackingPTZRight,
|
||
TrackTrackingSet,
|
||
TrackGetTracking,
|
||
|
||
TrackArithParamTypeAridllSysParaCtrl, //系统开关及参数
|
||
TrackArithParamTypeAridllSysParaCtrlResever, //备用开关及参数
|
||
TrackArithParamTypeAridllDstParaCtrl, //小目标检测开关及参数
|
||
TrackArithParamTypeAridllAreaParaCtrl, //面目标检测开关及参数
|
||
TrackArithParamTypeAridllMoveParaCtrl, //运动目标检测开关及参数
|
||
TrackArithParamTypeAridllAiParaCtrl, //AI识别开关及参数
|
||
TrackArithParamTypeAridllTgtDistanceParaCtrl, //作用距离开关及参数
|
||
TrackArithParamTypeAridllTrackParaCtrl, //跟踪算法开关及参数
|
||
TrackArithParamTypeAridllPipeParaCtrl, //周扫管道开关及参数
|
||
TrackArithParamTypeAridllShieldAngelParaCtrl, //周扫屏蔽角设置
|
||
|
||
|
||
TrackAIAlgorithmParameters,
|
||
TrackTrackingAlgorithmParameters,
|
||
TrackTrackingSetValue,
|
||
TrackAutoTrackingSwitch, //自动跟踪开关
|
||
TrackTrackingLock, //锁定跟踪
|
||
TrackTrackingUNLock, //解除跟踪
|
||
TrackGateSizeStep, //波门大小步进
|
||
TrackGatePosStep, //波门位置步进
|
||
TrackMediaRecordCtrl, //媒体录制控制
|
||
TrackVideoSwitch, //视频源切换
|
||
TrackParamsSet, //跟踪参数设置
|
||
TrackTDSwitch, //目标检测开关
|
||
TrackCMStableON, //电子稳像开
|
||
TrackCMStableOFF, //电子稳像关
|
||
TrackSurfaceParamSet, //面目标检测开关
|
||
TrackHandshake, //握手交互
|
||
TrackOverlayTargetInfo, //叠加目标信息
|
||
TrackOSDOSTCTRL, //OSD控制
|
||
TrackRadarFOLLOW, //雷达引导
|
||
};
|
||
|
||
//激光模块命令类型
|
||
enum LaserCommand
|
||
{
|
||
//激光测距机相关
|
||
LaserLaserCheck = 0, //激光上电自检
|
||
LaserLaserCtrl, //激光测距控制
|
||
LaserLaserMainpara, //激光主要参数接口
|
||
};
|
||
|
||
// 伺服转台控制命令枚举
|
||
// 主要命令包括:手动、归零、方位扇扫、俯仰扇扫、定位...
|
||
enum ServoCommand
|
||
{
|
||
ServoShutDown = 0, //关闭模式
|
||
ServoManual, //手动模式
|
||
ServoPosition, //定位模式
|
||
ServoTrack, //跟踪模式
|
||
ServoHorizonScan, //方位扇扫
|
||
ServoVerticalScan, //俯仰扇扫
|
||
ServoScanCircle, //周扫模式
|
||
ServoCirclestop, //周扫停止模式
|
||
ServoStore, //收藏模式
|
||
ServoZero, //归零模式
|
||
ServoLock, //锁定当前模式
|
||
ServoAplombdown, //垂直下视模式
|
||
ServoManualtrack, //手动跟踪模式
|
||
ServoMotorzero, //磁链零位模式
|
||
ServoTorquemode, //转矩模式
|
||
ServoSelfcheck, //自检模式
|
||
ServoFrequency, //扫频模式
|
||
ServoSintest, //正弦测试模式
|
||
ServoGyromanual, //手动校漂
|
||
ServoGyroauto, //自动校漂
|
||
ServoTargetlock, //地理引导
|
||
ServoTargetposition, //目标定位
|
||
ServoSettingzero, //机械零位设定
|
||
ServoSettingzeroSave, //机械零位设定保存
|
||
ServoGyroinstll, //陀螺安装修正模式
|
||
ServoTracememory, //记忆跟踪
|
||
ServoTracecaptrue, //捕获
|
||
ServoTracelostrecaptrue, //丢失重捕
|
||
ServoServoselect, //伺服调试选择模式
|
||
ServoLinearcomp, //线性运动补偿准备
|
||
|
||
};
|
||
|
||
// 综控命令枚举
|
||
enum IntegratedCommand
|
||
{
|
||
IntegratedEquipmentCtrl = 0, //电源控制
|
||
IntegratedEquipmentState, //获取电源状态
|
||
IntegratedPicture, //拍照
|
||
IntegratedRecord, //录像
|
||
IntegratedGuide, //地理引导
|
||
IntegratedTarLocate, //目标定位
|
||
|
||
};
|
||
|
||
// 设备系统命令枚举
|
||
enum DevSystemCommand
|
||
{
|
||
DevGetState = 0, //获取运行状态
|
||
DevReboot, //重启
|
||
DevReset, //重置
|
||
DevSyncNtp, //ntp校时
|
||
DevGetVersion, //获取版本
|
||
DevGetResource, //获取资源信息
|
||
};
|
||
|
||
// OTA升级系统命令枚举
|
||
enum OTACommand
|
||
{
|
||
OTAStart = 0, //开始升级
|
||
OTAPause, //暂停升级
|
||
OTAStop, //停止升级
|
||
OTAInfo, //升级信息
|
||
OTAStreams, //升级文件
|
||
OTAGetVersion, //获取版本
|
||
|
||
};
|
||
|
||
/************************************************
|
||
**红外设置参数
|
||
************************************************/
|
||
typedef struct tagIR_PARAM
|
||
{
|
||
float fZoomStep; //变倍步长
|
||
float fSharpness; //清晰度
|
||
QString strShutterMode; //快门模式
|
||
QString strColorMode; //伪彩模式
|
||
QString strFocusMode; //调焦模式
|
||
bool bIsEnableCheck; //定时校正
|
||
long long lCheckTimes; //校正间隔
|
||
|
||
}IR_PARAM;
|
||
|
||
/************************************************
|
||
**可见光设置参数
|
||
************************************************/
|
||
typedef struct tagVL_PARAM
|
||
{
|
||
QString strIp; //NTP--IP
|
||
int nPort; //NTP-端口
|
||
float fVLZoom; //变倍比
|
||
float fVLZoomDigital; //数字变倍比
|
||
float fVLFocus; //聚焦值
|
||
float fShutterSpeed; //快门速度
|
||
float fAperture; //光圈值
|
||
float fSharpness; //清晰度
|
||
float fICRAuto; //ICR灵敏度
|
||
int nBright; //亮度
|
||
int nContrast; //对比度
|
||
int nTone; //色调
|
||
int nSatuature; //饱和度
|
||
QString strFocusMode; //调焦模式
|
||
QString strShutterMode; //快门模式
|
||
QString strSlowMode; //慢快门模式
|
||
QString strAFSens; //自动聚焦灵敏度
|
||
QString strExposureMode; //曝光模式
|
||
QString strFogOn; //透雾等级
|
||
QString strIcrMode; //ICR滤光片
|
||
QString strIcrAutoMode; //自动ICR模式
|
||
QString strWbMode; //白平衡
|
||
QString strMove; //背光补偿移动
|
||
}VL_PARAM;
|
||
|
||
/************************************************
|
||
**AI算法设置参数
|
||
************************************************/
|
||
typedef struct tagAI_PARAM
|
||
{
|
||
QString strURLIR;
|
||
QString strURLVL;
|
||
|
||
ushort shNNIE_ID;
|
||
ushort shMerge;
|
||
ushort shConfidence;
|
||
ushort shNNIEImageWidth;
|
||
ushort shNNIEImageHeight;
|
||
ushort shVLModelID;
|
||
ushort shIRModelID;
|
||
QString strOperatMode;
|
||
ushort shDX;
|
||
ushort shDY;
|
||
bool bNNIESW;
|
||
bool bDrawArea;
|
||
bool bNNIEResultShow;
|
||
QString strAIDetType;
|
||
|
||
tagAI_PARAM()
|
||
{
|
||
shNNIE_ID = 0;
|
||
shMerge = 3;
|
||
shConfidence = 1;
|
||
shNNIEImageWidth = 640;
|
||
shNNIEImageHeight = 512;
|
||
shVLModelID = 0;
|
||
shIRModelID = 100;
|
||
strOperatMode = "optmode_none";
|
||
shDX = 0;
|
||
shDY = 0;
|
||
bNNIESW = false;
|
||
bDrawArea = false;
|
||
bNNIEResultShow = false;
|
||
strAIDetType = "people";
|
||
}
|
||
|
||
}AI_PARAM;
|
||
|
||
|
||
|
||
|
||
/************************************************
|
||
**伺服控制命令
|
||
************************************************/
|
||
typedef struct tagSERVO_PARAM
|
||
{
|
||
float fHSpeed;//方位角速度
|
||
float fVSpeed;//俯仰角速度
|
||
float fRSpeed;//横滚角速度
|
||
float fHAngle;//方位角度
|
||
float fVAngle;//俯仰角度
|
||
float fRAngle;//横滚角度
|
||
float fLockHAngle;//方位偏移角
|
||
float fLockVAngle;//俯仰偏移角
|
||
int nVideoSource;//跟踪模式的视频源 0可见光1红外
|
||
float fImageErrorX;//脱靶量X轴方向
|
||
float fImageErrorY;//脱靶量Y轴方向
|
||
float fSpatialResX;//方位空间分辨率
|
||
float fSpatialResY;//俯仰空间分辨率
|
||
float fHScanSpeed; //方位扇扫速度
|
||
float fHCentralAngle; //方位扇扫中心角
|
||
float fHScanangle; //方位扇扫角度
|
||
float fVScanSpeed; //俯仰扇扫速度
|
||
float fVCentralAngle; //俯仰扇扫中心角
|
||
float fVScanangle; //俯仰扇扫角度
|
||
float fCalibrateangleH;//方位跟踪角度修正值
|
||
float fCalibrateangleV;//俯仰跟踪角度修正值
|
||
float fScancirclespeed; //方位周扫速度
|
||
float fVerticalIniangle; //周扫俯仰起始角
|
||
float fVerticalEndangle; //周扫俯仰终止角
|
||
float fCircles; //周扫单层周扫圈数
|
||
float fIqAmpH;// 方位电流幅值
|
||
float fIqFreH;// 方位电流频率
|
||
float fIqAmpV;//俯仰电流幅值
|
||
float fIqFreV;//俯仰电流频率
|
||
float fDutyH; //方位占空比值
|
||
float fDutyV;//俯仰占空比值
|
||
float fIqH; //方位电流给定值
|
||
float fIqV;//俯仰电流给定值
|
||
float fAngleAmpH;//方位角度幅值
|
||
float fAngleFreH;//方位角度频率
|
||
float fAngleAmpV;//俯仰角度幅值
|
||
float fAngleFreV;//俯仰角度频率
|
||
int nAxischoose; //轴系选择
|
||
int nAddorMinus; //加或者减
|
||
float fCalibrationvalue;//校漂值
|
||
|
||
float fTargetGPSlon;//目标经度
|
||
float fTargetGPSlat;//目标纬度
|
||
float fTargetGPSH; //目标高度
|
||
|
||
int nGyroinAxischoose;//轴系选择
|
||
float fGyroinAdjustangle;//安装修正角度值
|
||
|
||
int nStartorstop;//跟踪启停控制
|
||
|
||
int nImageSource; //捕获视频源
|
||
float fCaptrueErrorX;//捕获X方向脱靶量
|
||
float fCaptrueErrorY;//捕获Y方向脱靶量
|
||
float fSpatialX;//捕获方位空间分辨率
|
||
float fSpatialY;//捕获俯仰空间分辨率
|
||
|
||
int nDebugMode; //调试模式选择
|
||
|
||
}SERVO_PARAM;
|
||
|
||
/************************************************
|
||
**综控电源控制命令
|
||
************************************************/
|
||
typedef struct tagINTEGRATED_PARAM
|
||
{
|
||
QString strPowerType; //电源分类
|
||
bool bPowerAction;//电源动作
|
||
int nRecordMsg; //录像状态
|
||
}INTEGRATED_PARAM;
|
||
|
||
/************************************************
|
||
**激光
|
||
************************************************/
|
||
typedef struct tagLASER_PARAM
|
||
{
|
||
bool bIsCheck;
|
||
QString strMode;//测距模式
|
||
int nCloseLimit;//近距离选通
|
||
int nFarLimit;//远距离选通
|
||
QString powerMode;//功耗模式
|
||
QString vbiasMode;//偏压模式
|
||
float fVbias;//偏压值
|
||
int nCurrent;//工作电流
|
||
float fMwvtv;//主波阈值
|
||
float fBwvtv;//回波阈值
|
||
int nMaxdischargetime;//最大放电时间
|
||
int nGaindelay; //增益调整
|
||
int nMeasureTimes;//测距次数
|
||
}LASER_PARAM;
|
||
|
||
/************************************************
|
||
**设备系统
|
||
************************************************/
|
||
typedef struct tagDEV_SYSTEM_PARAM
|
||
{
|
||
QString strIP;//IP地址
|
||
int nPort;//端口号
|
||
}DEV_SYSTEM_PARAM;
|
||
|
||
/************************************************
|
||
**OTA升级
|
||
************************************************/
|
||
typedef struct tagOTA_PARAM
|
||
{
|
||
QString strOTAMoudle; //OTA升级板子模块
|
||
QString strFileName; //升级文件名
|
||
QString strMD5; //升级文件MD5校验
|
||
QString strToken; //请求令牌字段
|
||
long lFileDataLength; //升级文件长度
|
||
|
||
//ota_stream
|
||
int nBlockID; //数据块ID
|
||
int nBlockSize; //数据块大小
|
||
QString strBase64; //base64编码
|
||
|
||
}OTA_PARAM;
|
||
|
||
typedef enum
|
||
{
|
||
ArithParamTypeAridllSysParaCtrl = 1, //系统开关及参数
|
||
ArithParamTypeAridllSysParaCtrlResever = 2, //备用开关及参数
|
||
ArithParamTypeAridllDstParaCtrl = 3, //小目标检测开关及参数
|
||
ArithParamTypeAridllAreaParaCtrl = 4, //面目标检测开关及参数
|
||
ArithParamTypeAridllMoveParaCtrl = 5, //运动目标检测开关及参数
|
||
ArithParamTypeAridllAiParaCtrl = 6, //AI识别开关及参数
|
||
ArithParamTypeAridllTgtDistanceParaCtrl = 7, //作用距离开关及参数
|
||
ArithParamTypeAridllTrackParaCtrl = 8, //跟踪算法开关及参数
|
||
ArithParamTypeAridllPipeParaCtrl = 9, //周扫管道开关及参数
|
||
ArithParamTypeAridllShieldAngelParaCtrl = 10, //周扫屏蔽角设置
|
||
}ArithParamType;
|
||
Q_DECLARE_METATYPE(ArithParamType);
|
||
|
||
|
||
//外部设置【系统主控制参数】结构体
|
||
typedef struct tagDLL_SYS_PARA_CTRL
|
||
{
|
||
//检测算法开关集合
|
||
unsigned char bEnableSmallObjDetct; //小目标检测开关, 1-开,0-关 ====0
|
||
unsigned char bEnableDimObjDetect; //弱小目标检测开关, 1-开,0-关
|
||
unsigned char bEnableAreaObjDetect; //面目标检测开关, 1-开,0-关
|
||
unsigned char bEnableMoveObjDetect; //动目标检测开关, 1-开,0-关
|
||
unsigned char bEnableAiObjDetect; //AI目标识别开关, 1-开,0-关
|
||
|
||
//跟踪算法开关集合
|
||
unsigned char bEnableKCFTrack; //KCF跟踪算法开关, 1-开,0-关 ====5
|
||
unsigned char bEnableXXCFTrack; //兼容后续CF算法, 1-开,0-关
|
||
unsigned char bEnableLKTrack; //LK跟踪算法开关, 1-开,0-关
|
||
unsigned char bEnabelCendTrack; //Cend跟踪算法开关, 1-开,0-关
|
||
unsigned char bEnableNccTrack; //NCC跟踪算法开关, 1-开,0-关
|
||
unsigned char bEnableTstTrack; //Tst跟踪算法开关, 1-开,0-关 ===10
|
||
unsigned char bEnableAccuracyTrack; //精搜索算法开关, 1-开,0-关
|
||
unsigned char bEnableSingleScaleTrack; //单尺度开关, 1-开,0-关
|
||
unsigned char bEnableAntiJamming; //抗干扰开关, 1-开,0-关
|
||
|
||
//其他参数
|
||
int nSystemPlat; //系统平台,0-固定,1-运动 ====14
|
||
int nMergeDistance; //检测目标合并距离 ====15
|
||
int nAimCntsInView; //视场内对准判断帧数
|
||
int nAimCntsOutView; //视场外对准判断帧数
|
||
int nOutputMode; //检测目标输出方式筛选
|
||
int nWorkMode; //工作模式,0-作战,1-真实训练,2-模型训练,3-维护模式
|
||
int nSceneMode; //场景模式,0-对空,1-对地,2-对海 ===20
|
||
}DLL_SYS_PARA_CTRL;
|
||
|
||
//【备用开关及参数】结构体
|
||
typedef struct tagDLL_SYS_PARA_CTRL_RESEVER
|
||
{
|
||
int nResever;
|
||
}DLL_SYS_PARA_CTRL_RESEVER;
|
||
|
||
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
//外部设置【小目标算法控制参数】结构体
|
||
typedef struct tagDLL_DST_PARA_CTRL
|
||
{
|
||
bool bEnableBgStdMin; //去虚警开关-背景标准差下限条件
|
||
bool bEnableBgStdMax; //去虚警开关-背景标准差上限条件
|
||
bool bEnableWHRatio; //去虚警开关-目标宽高比条件
|
||
bool bEnableOccupyRatio; //去虚警开关-目标占空比条件
|
||
|
||
int nGrayType; //亮/暗/全目标灰度类型
|
||
int nMergeDist; //合并距离阈值
|
||
int nObjSizeMax; //目标最大像素要求
|
||
int nObjSizeMin; //目标最小像素要求
|
||
|
||
float fGdk; //一般目标信噪比gdk限制
|
||
float fGdk_Dim; //弱小目标信噪比gdk限制
|
||
int nObjCntsMax; //最大小目标检测个数
|
||
int nDimObjCntsMax; //最大弱目标检测个数
|
||
float fBgStdMin; //最小背景标准差阈值
|
||
float fBgStdMax; //最大背景标准差阈值
|
||
float fWHRatioMin; //最小宽高比
|
||
float fWHRatioMax; //最大宽高比
|
||
float fOccupyThresh; //占空比阈值
|
||
}DLL_DST_PARA_CTRL;
|
||
|
||
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
//外部设置【面目标算法控制参数】结构体
|
||
typedef struct tagDLL_AREA_PARA_CTRL
|
||
{
|
||
bool bEnableBgStd; //去虚警开关-背景标准差条件
|
||
bool bEnableObjSize; //去虚警开关-目标大小条件
|
||
bool bEnableWHRatio; //去虚警开关-目标宽高比条件
|
||
bool bEnableOccupyRatio; //去虚警开关-目标占空比条件
|
||
bool bEnableGrayMin; //去虚警开关-最小灰度条件
|
||
int nGrayType; //亮/暗/全目标灰度类型
|
||
int nMergeDist; //合并距离阈值
|
||
int nObjSizeMax; //目标最大像素要求
|
||
int nObjSizeMin; //目标最小像素要求
|
||
float fGdk; //一般目标信噪比gdk限制
|
||
float fGdk_Dim;
|
||
int nObjCntsMax; //单帧最大目标检测个数
|
||
|
||
int nGradMin; //最小梯度阈值
|
||
int nSegBrightMinGray; //最小亮目标分割灰度阈值
|
||
int nSegDarkMinGray; //最小暗目标分割灰度阈值
|
||
int nTarWMax; //最大目标宽度
|
||
int nTarHMax; //最大目标高度
|
||
float fWHRatioMin; //最小宽高比
|
||
float fWHRatioMax; //最大宽高比
|
||
float fOccupyThresh; //占空比阈值
|
||
float fBgGrayDiffCoef; //背景灰度差系数
|
||
int nObjStdMin; //最小目标方差
|
||
int nObjBgGrayDiff; //最小目标背景灰度差
|
||
int nThreashLevel; //分割阈值档位
|
||
int nChooseType; //目标筛选方式
|
||
int nSaliencyMin; //显著性阈值
|
||
int nDownSmpScale; //降采样倍数
|
||
float fEntropyRateMin; //熵值比最小值
|
||
float fBackEntropy; //背景熵值
|
||
}DLL_AREA_PARA_CTRL;
|
||
|
||
//外部设置【动目标算法控制参数】结构体
|
||
typedef struct tagDLL_MOVE_PARA_CTRL
|
||
{
|
||
unsigned short nObjSizeMin;
|
||
float fGdk;
|
||
}DLL_MOVE_PARA_CTRL;
|
||
|
||
//外部设置【AI跟踪参数】结构体
|
||
typedef struct tagDLL_AI_PARA_CTRL
|
||
{
|
||
unsigned short nLockThresh;
|
||
}DLL_AI_PARA_CTRL;
|
||
|
||
|
||
//外部设置【跟踪算法控制参数】结构体
|
||
typedef struct tagDLL_TRACK_PARA_CTRL
|
||
{
|
||
int nLockThresh; //可锁定判断阈值
|
||
int nSmall2Area; //小面切换大小阈值
|
||
float fKcfThresh; //KCF阈值
|
||
float fNccThresh; //NCC阈值
|
||
float fTst_Gdk; //小目标跟踪gdk
|
||
int nRecapCnts; //记忆重补帧数
|
||
int nRecapArith; //重补算法类别
|
||
int nRecapAreaW; //重补区域宽度
|
||
int nRecapAreaH; //重补区域高度
|
||
int nTrakPipeR; //正常跟踪时管道半径
|
||
int nRecapPipeR; //丢失重补时管道半径
|
||
int nRecapBlks; //丢失重捕分块的个数
|
||
float fRecapKcfThresh; //判断重捕成功KCF阈值
|
||
float fRecapNccThresh; //判断重捕成功NCC阈值
|
||
float fRecapApceThresh; //判断重捕成功APCE阈值
|
||
int nTrackArith; //跟踪算法类别(CF or AI)
|
||
int nUpdateStep; //更新帧数间隔
|
||
int nDelayGetAITCnts; //延迟帧间隔
|
||
|
||
}DLL_TRACK_PARA_CTRL;
|
||
|
||
|
||
//外部设置【周扫管道控制参数】结构体
|
||
typedef struct tagDLL_PIPE_PARA_CTRL
|
||
{
|
||
bool bEnableObjSize; //尺寸限制开关
|
||
bool bEnableEntropy; //信息熵开关
|
||
bool bEnableSizeAssLoose; //尺寸关联松开关
|
||
bool bEnableSizeAssStrict; //尺寸关联严开关
|
||
bool bEnableAngleAss; //角度关联开关
|
||
bool bEnableAreaGdk; //面目标GDK判断开关
|
||
bool bEnableMoveInfo; //运动去虚警开关
|
||
bool bEnableAlarmDivision; //防止上报批号分裂开关
|
||
bool bEnablePtPredict; //自动抬层-俯仰速度预测开关
|
||
bool bEnablePtAccPredict; //自动抬层-俯仰加速度预测开关
|
||
bool bEnableAutoRegulate; //自动抬层-动态调整开关
|
||
int nObjSpeedType; //目标速度类型,0-无限制,1-静止,2-低速,3-高速
|
||
int nPreScanNum; //预扫描圈数
|
||
int nFasePipeDelNum; //虚警管道删除帧数
|
||
int nMoveThresh; //静止目标判断阈值
|
||
int nObjSizeMinSmall; //小目标个数最小值
|
||
int nAwsFrmScan; //周扫管道确认帧数
|
||
int nDeleteCntsScan; //周扫管道延迟删除帧数
|
||
int nAwsFrmStare; //凝视管道确认帧数
|
||
int nDeleteCntsStare; //凝视管道延迟删除帧数
|
||
int nFAPipeSearchRadius; //虚警管道搜索半径
|
||
int nPipeSearchRadius; //管道搜索半径
|
||
int nObjSizeMinArea; //面目标个数最小值
|
||
|
||
float fSpeedDiffThresh; //自动抬层速度判断阈值
|
||
float fExistProb; //探测率
|
||
float fTgEntropy; //目标信息熵阈值
|
||
float fBgEntropyMin; //背景信息熵最小阈值
|
||
float fSizeAssWeight; //尺寸关联权重
|
||
float fBgEntropyMax; //尺寸关联信息熵最大权值
|
||
}DLL_PIPE_PARA_CTRL;
|
||
|
||
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
//外部设置【周扫屏蔽角控制参数】结构体
|
||
typedef struct tagDLL_SHIELD_ANG_PARA_CTRL
|
||
{
|
||
bool bEnableAzShield; //方位屏蔽开关
|
||
bool bEnablePtVaild; //俯仰有效开关
|
||
float fAzShield_0_Min; //屏蔽方位角[0]的左值和右值
|
||
float fAzShield_0_Max;
|
||
float fAzShield_1_Min; //屏蔽方位角[1]的左值和右值
|
||
float fAzShield_1_Max;
|
||
float fAzShield_2_Min; //屏蔽方位角[2]的左值和右值
|
||
float fAzShield_2_Max;
|
||
float fAzShield_3_Min; //屏蔽方位角[3]的左值和右值
|
||
float fAzShield_3_Max;
|
||
float fAzShield_4_Min; //屏蔽方位角[4]的左值和右值
|
||
float fAzShield_4_Max;
|
||
float fAzShield_5_Min; //屏蔽方位角[5]的左值和右值
|
||
float fAzShield_5_Max;
|
||
float fAzShield_6_Min; //屏蔽方位角[6]的左值和右值
|
||
float fAzShield_6_Max;
|
||
float fAzShield_7_Min; //屏蔽方位角[7]的左值和右值
|
||
float fAzShield_7_Max;
|
||
float fAzShield_8_Min; //屏蔽方位角[8]的左值和右值
|
||
float fAzShield_8_Max;
|
||
float fAzShield_9_Min; //屏蔽方位角[9]的左值和右值
|
||
float fAzShield_9_Max;
|
||
float fPtValid_Min; //俯仰有效角度最小值
|
||
float fPtValid_Max; //俯仰有效角度最大值
|
||
}DLL_SHIELD_ANG_PARA_CTRL;
|
||
|
||
|
||
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
//【作用距离开关及参数】结构体
|
||
typedef struct tagDLL_TGT_DISTANCE_PARA_CTRL
|
||
{
|
||
int nResever;
|
||
}DLL_TGT_DISTANCE_PARA_CTRL;
|
||
|
||
typedef struct
|
||
{
|
||
DLL_SYS_PARA_CTRL stTrackSysParaCtrl;
|
||
DLL_DST_PARA_CTRL stTrackDstParaCtrl;
|
||
DLL_AREA_PARA_CTRL stTrackAreaParaCtrl;
|
||
DLL_MOVE_PARA_CTRL stTrackMoveParaCtrl;
|
||
DLL_AI_PARA_CTRL stTrackAIParaCtrl;
|
||
DLL_TRACK_PARA_CTRL stTrackArithParaCtrl;
|
||
DLL_PIPE_PARA_CTRL stTrackPipeParaCtrl;
|
||
DLL_SHIELD_ANG_PARA_CTRL stTrackAngelParaCtrl;
|
||
DLL_TGT_DISTANCE_PARA_CTRL stTrackTgtDistanceParaCtrl;
|
||
|
||
}COMMAND_PARAM;
|
||
|
||
Q_DECLARE_METATYPE(COMMAND_PARAM);
|
||
|
||
//算法回传结构体汇总
|
||
typedef struct tagTRACK_AIRTH_STATE
|
||
{
|
||
DLL_SYS_PARA_CTRL stSysPara; //系统主控制参数
|
||
DLL_SYS_PARA_CTRL_RESEVER stSysParaResever; //备用开关及参数
|
||
DLL_DST_PARA_CTRL stDstPara; //小目标算法控制参数
|
||
DLL_AREA_PARA_CTRL stAreaPara; //面目标算法控制参数
|
||
DLL_MOVE_PARA_CTRL stMovePara; //运动目标算法控制参数
|
||
DLL_AI_PARA_CTRL stAIPara; //AI目标算法控制参数
|
||
DLL_TGT_DISTANCE_PARA_CTRL stTgtDistance; //作用距离开关及参数
|
||
DLL_TRACK_PARA_CTRL stTrackPara; //跟踪算法控制参数
|
||
DLL_PIPE_PARA_CTRL stPipePara; //周扫管道控制参数
|
||
DLL_SHIELD_ANG_PARA_CTRL stShieldPara; //周扫屏蔽角控制参数
|
||
}TRACK_AIRTH_STATE;
|
||
|
||
typedef struct tagSYSTEM_STATES
|
||
{
|
||
TRACK_AIRTH_STATE stArithParam; //算法上返的参数
|
||
|
||
}SYSTEM_STATES;
|
||
|
||
|
||
/************************************************
|
||
**跟踪板设置参数
|
||
************************************************/
|
||
typedef struct tagTRACK_PARAM
|
||
{
|
||
//初版协议
|
||
int nVLWidth;
|
||
int nVLHeight;
|
||
int nIRWidth;
|
||
int nIRHeight;
|
||
QString strScaleSwitch; //尺度开关
|
||
QString strTrackAlgorithm; //跟踪算法
|
||
bool bAutomaticTrack; //自动跟踪
|
||
bool bMovingTarget; //动目标检测
|
||
bool bSmallTarget; //小目标检测
|
||
bool bAITarget; //AI算法检测
|
||
bool bFaceObject; //面目标检测
|
||
bool bSearchSwitch; //精搜开关
|
||
|
||
DLL_SYS_PARA_CTRL stTrackSys;
|
||
DLL_DST_PARA_CTRL stTrackDst;
|
||
DLL_AREA_PARA_CTRL stTrackArea;
|
||
DLL_MOVE_PARA_CTRL stTrackMove;
|
||
DLL_AI_PARA_CTRL stTrackAI;
|
||
DLL_TRACK_PARA_CTRL stTrack;
|
||
DLL_PIPE_PARA_CTRL stTrackPipe;
|
||
DLL_SHIELD_ANG_PARA_CTRL stTrackAngel;
|
||
DLL_TGT_DISTANCE_PARA_CTRL stTrackTgtDistance;
|
||
|
||
//20221109更新后协议
|
||
QString strVideoType;
|
||
int nframeID;
|
||
int nPosX;
|
||
int nPosY;
|
||
int nPomenW;
|
||
int nPomenH;
|
||
|
||
//波门大小步进
|
||
QString strModifyGateW;
|
||
QString strModifyGateH;
|
||
int nGateStep;
|
||
|
||
//波门位置步进
|
||
QString strLocalX;
|
||
QString strLocalY;
|
||
int nLocalStep;
|
||
|
||
//媒体录制控制
|
||
QString strRecordCtrl;
|
||
QString strChlMode;
|
||
int nChID;
|
||
|
||
//跟踪参数设置
|
||
QString strSingleScale;
|
||
bool bTrackAccuracy;
|
||
int nScene;
|
||
int nWorkMode;
|
||
int nForceTrack;
|
||
int nArithEnable;
|
||
|
||
//目标检测开关
|
||
bool bDetectSmall;
|
||
bool bDetectArea;
|
||
bool bDetectMove;
|
||
bool bDetectAi;
|
||
|
||
//视频源
|
||
QString strVideo;
|
||
|
||
//握手交互
|
||
QString strProductID;
|
||
|
||
//面目标参数设置
|
||
bool bIsValid; //是否有效
|
||
QString strAreaThreshold; //面目标检测阈值
|
||
QString strTargetType; //目标类型
|
||
QString strTargetFliter; //目标筛选
|
||
int nMinPixel; // 最小像素
|
||
int nSigThreshold; //显著性阈值
|
||
int nGdkThreshold; // GDK阈值
|
||
int nEntropyRatio; //熵值比
|
||
int nBackEntropy; //背景熵值
|
||
|
||
//叠加目标信息
|
||
QString strCtrl; //操作方式
|
||
QString strType; //目标类型
|
||
int nTargetID; //目标批号
|
||
float fLong; //目标经度
|
||
float fLat; //目标纬度
|
||
|
||
AI_PARAM aiParam;
|
||
bool bAutoTrackSW; //自动跟踪开关
|
||
|
||
bool bOsdLocal; //本地信息
|
||
bool bOsdRemote; //远端信息
|
||
bool bOsdGPS; //GPS
|
||
bool bOsdIR; //红外十字光标
|
||
bool bOsdVL; //可见光十字光标
|
||
bool bOsdServo; //伺服信息
|
||
bool bOsdLens; //镜头信息
|
||
bool bOsdLaser; //激光信息
|
||
bool bOsdState; //状态信息
|
||
|
||
QString strOSDCtrl; //OSD信息标识
|
||
|
||
//雷达引导
|
||
QString strTarType; //目标类型
|
||
QString strTarChoose; //目标选择
|
||
int nDistance; //距离
|
||
int nSpeed; //速度
|
||
float fAmith; //方位
|
||
float fPitch; //俯仰
|
||
|
||
|
||
|
||
tagTRACK_PARAM()
|
||
{
|
||
strVideoType = "";
|
||
nframeID = 0;
|
||
nPosX = 100;
|
||
nPosY = 200;
|
||
nPomenW = 41;
|
||
nPomenH = 40;
|
||
strModifyGateW = "";
|
||
strModifyGateH = "";
|
||
nGateStep = 0;
|
||
strLocalX = "";
|
||
strLocalY = "";
|
||
nLocalStep = 0;
|
||
strRecordCtrl = "";
|
||
strChlMode = "";
|
||
nChID = 0;
|
||
strSingleScale = "";
|
||
bTrackAccuracy = false;
|
||
nScene = 0;
|
||
nWorkMode = 0;
|
||
nForceTrack = 0;
|
||
nArithEnable = 0;
|
||
bDetectSmall = false;
|
||
bDetectArea = false;
|
||
bDetectMove = false;
|
||
bDetectAi = false;
|
||
strVideo = "";
|
||
strProductID = "";
|
||
bIsValid = false;
|
||
strAreaThreshold= "";
|
||
strTargetType = "";
|
||
strTargetFliter = "";
|
||
nMinPixel = 0;
|
||
nSigThreshold = 0;
|
||
nGdkThreshold = 0;
|
||
nEntropyRatio = 0;
|
||
nBackEntropy = 0;
|
||
strCtrl = "";
|
||
strType = "";
|
||
nTargetID = 0;
|
||
fLong = 0;
|
||
fLat = 0;
|
||
|
||
//雷达引导
|
||
strTarType = "";
|
||
strTarChoose = "";
|
||
nDistance = 0;
|
||
nSpeed = 0;
|
||
fAmith = 0;
|
||
fPitch = 0;
|
||
}
|
||
|
||
}TRACK_PARAM;
|
||
|
||
typedef struct tagTRACK_GATE
|
||
{
|
||
int nWidth;
|
||
int nHeight;
|
||
|
||
}TRACK_GATE;
|
||
|
||
#endif // _CommDef_H
|