#ifndef _CommDef_H_ #define _CommDef_H_ #ifndef _byte_def_ #define _byte_def_ typedef unsigned char BYTE, Byte, byte; #endif #include #include #include #include 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