|
|
|
|
|
#include <stdint.h>
|
|
|
#include <memory>
|
|
|
#include <string>
|
|
|
|
|
|
//#pragma pack(1)
|
|
|
const int IMAGE_WIDTH_IR = 1280;
|
|
|
const int IMAGE_HEIGHT_IR = 1024;
|
|
|
const int IMAGE_WIDTH_VL = 1920;
|
|
|
const int IMAGE_HEIGHT_VL = 1080;
|
|
|
|
|
|
const int PARA_IR_LINE = 40; //红外参数行
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define M_ST_OBJ_NUM (100)
|
|
|
#define M_LT_OBJ_NUM (10)
|
|
|
|
|
|
|
|
|
|
|
|
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
|
//单个目标的结构体[兼容输入/输出,检测/跟踪]
|
|
|
typedef struct tagARIDLL_OBJINFO
|
|
|
{
|
|
|
//*****1.目标状态信息*****
|
|
|
int nFrameId; //目标当前信息所对应的帧编号
|
|
|
unsigned char unObjStatus; //目标搜索状态信息,更新/新增/删除
|
|
|
unsigned char bMainTracked; //目标是否为主跟踪目标
|
|
|
TrackingStatus unTrackingStatus;//目标跟踪状态
|
|
|
|
|
|
|
|
|
//*****2.目标管道信息*****
|
|
|
int nOutputID; //输出告警目标
|
|
|
int nInPipesID; //目标在管道数组中的编号
|
|
|
int nPipeLostCnt; //目标当前管道连续丢失计数
|
|
|
int nTotalCnt; //目标当前管道总帧数
|
|
|
unsigned char bInCurrFov; //目标是否在当前视场
|
|
|
int nAntiJamming; //抗干扰状态
|
|
|
|
|
|
//*****3.目标核心信息*****
|
|
|
float nX; //目标中心点图像坐标x
|
|
|
float nY; //目标中心点图像坐标y
|
|
|
float nObjW; //目标宽度
|
|
|
float nObjH; //目标高度
|
|
|
float fAz; //目标当前方位角
|
|
|
float fPt; //目标当前俯仰角
|
|
|
|
|
|
// 目标预测位置
|
|
|
float fPredAz; //目标预测位置方位角
|
|
|
float fPredPt; //目标预测位置俯仰角
|
|
|
|
|
|
//*****4.其他属性信息*****
|
|
|
int nObjGray; //目标灰度
|
|
|
int nObjMaxGray; //目标极值灰度
|
|
|
int nMaxPosX; //目标极大值点X
|
|
|
int nMaxPosY; //目标极大值点Y
|
|
|
int nPixCnts; //目标像素个数
|
|
|
unsigned char ubSizeType; //目标尺寸类型
|
|
|
float fProb; //目标识别置信度
|
|
|
float fSNR; //目标信噪比值
|
|
|
float fTgEntropy; //目标信息熵值
|
|
|
float fBgEntropy; //目标背景信息熵
|
|
|
float fSaliency; //目标显著性值
|
|
|
|
|
|
bool nJammingSucess; //目标成功干扰
|
|
|
|
|
|
int unClsType; //目标类别
|
|
|
float fReIDSim; //当前目标与主目标的ReID相似度
|
|
|
|
|
|
// 如果处于跟踪状态,则输出下列值
|
|
|
RECT32S SA_SrBox; //小面目标跟踪波门
|
|
|
SizeType SA_SizeType; //尺度信息
|
|
|
RECT32S KCF_SrBox; //KCF波门
|
|
|
RECT32S TLD_SrBox; //TLD波门
|
|
|
FLOAT32 fConf; //跟踪置信度
|
|
|
ObjSrc ArithSrc; //跟踪算法来源,决策后
|
|
|
|
|
|
unsigned char byte[20]; //预留
|
|
|
|
|
|
}ARIDLL_OBJINFO;
|
|
|
|
|
|
//输入【系统参数】结构体sizeof(m_stInputPara)=464
|
|
|
typedef struct tagARIDLL_INPUTPARA
|
|
|
{
|
|
|
int nTimeStamp; //当前帧采集时刻时间戳,单位毫秒
|
|
|
int unFrmId; //当前帧图像帧编号
|
|
|
short unFreq; //输入图像帧频
|
|
|
ServoInfo stServoInfo; //传感器伺服信息
|
|
|
CamInfo stCameraInfo; //相机信息
|
|
|
AirCraftInfo stAirCraftInfo; //载体信息
|
|
|
GuideInfo stGuideInfo; //外部引导信息
|
|
|
|
|
|
AIT_OUTPUT stAITrackerInfo; //AI跟踪器结果sizeof(AIT_OUTPUT)=264
|
|
|
|
|
|
int nServoDelatCnt; //伺服角度延迟帧数
|
|
|
// 其他输入
|
|
|
bool bImageRataSys; //像旋系统标记,S731实物样机1,数字样机未模拟像旋 -0
|
|
|
int nElevationDiff; //机载设备挂飞高程差
|
|
|
|
|
|
unsigned char byte[48]; //预留
|
|
|
}ARIDLL_INPUTPARA;
|
|
|
|
|
|
//调试信息
|
|
|
typedef struct tagARIDLL_DEBUG_OUTPUT
|
|
|
{
|
|
|
unsigned short nDetectObjsNum; //检测目标个数
|
|
|
// 管道资源
|
|
|
unsigned short nMaxPipeNum; //当前系统管道资源数量
|
|
|
unsigned short nUsePipeNum; //当前非空管道数量
|
|
|
float Arith_time; //算法运行耗时
|
|
|
unsigned int unFrmID; //算法执行的帧编号
|
|
|
|
|
|
//ARM发指令信息
|
|
|
unsigned char nSysMode; //外部系统状态
|
|
|
unsigned char nScenMode; //场景模式
|
|
|
unsigned char nStatus; //待命/检测/跟踪/丢失状态信息等
|
|
|
unsigned char nPixelType; //图像数据类型
|
|
|
unsigned short nWidth; //图像宽
|
|
|
unsigned short nHeight; //图像高
|
|
|
unsigned char nLockType; //1-拉框吸附 2-点选吸附 3-ID锁定 4-修正攻击点 5-解锁
|
|
|
unsigned char nLockID; //锁定id号
|
|
|
unsigned short nLockX; //锁定波门或者修改攻击点
|
|
|
unsigned short nLockY;
|
|
|
unsigned short nLockW;
|
|
|
unsigned short nLockH;
|
|
|
unsigned short nPredictX; //轨迹预测X点
|
|
|
unsigned short nPredictY; //轨迹预测Y点
|
|
|
unsigned short nForceMemFrm; //强制记忆帧数
|
|
|
unsigned char unFreq; //帧频
|
|
|
float fServoAz; //伺服方位角
|
|
|
float fServoPt; //伺服俯仰角
|
|
|
float nFocus; //焦距
|
|
|
float fPixelSize; //像元尺寸
|
|
|
unsigned char unVideoType; //视频类型
|
|
|
|
|
|
//算法参数(公用)
|
|
|
unsigned short nX; //决策输出中心点X
|
|
|
unsigned short nY; //决策输出中心点Y
|
|
|
unsigned short nW; //决策输出宽度
|
|
|
unsigned short nH; //决策输出高度
|
|
|
|
|
|
unsigned short nRecapX; //重捕区域中心X
|
|
|
unsigned short nRecapY; //重捕区域中心Y
|
|
|
unsigned short nRecapW; //重捕区域宽度
|
|
|
unsigned short nRecapH; //重捕区域高度
|
|
|
|
|
|
//对地跟踪信息调试
|
|
|
//对地参数
|
|
|
unsigned char nDecisionStatus; //决策状态
|
|
|
unsigned char nKcfStatus; //kcf状态
|
|
|
unsigned char bAIDStatus; //AI识别状态
|
|
|
float fKCFRes; //KCF响应
|
|
|
float fLargeResTH; //KCF重捕阈值
|
|
|
float fArrKCFRes;
|
|
|
unsigned char nOccKCFStatus;
|
|
|
unsigned char nArrestKCFStatus;
|
|
|
short nAIDBestId;
|
|
|
short nAIDLostCnt;
|
|
|
short unContiTrackedCnt;
|
|
|
short nAIDJamCnt;
|
|
|
unsigned char nOccAIDStatus;
|
|
|
unsigned char nArrestAIDStatus;
|
|
|
unsigned short nTLDNum; //TLD聚类检测个数
|
|
|
unsigned short nLearnCnt; //TLD学习计数
|
|
|
float fMaxNNConf; //TLD检测最大响应
|
|
|
|
|
|
//对空参数
|
|
|
unsigned char sky_bComplexEnv; // 复杂背景标志位
|
|
|
unsigned char sky_bInterferenceMem; // 干扰近记忆标志位
|
|
|
unsigned char sky_bResetByAIDet; // 跟踪被AI重置标记
|
|
|
unsigned char sky_nClassSource; // 目标类别输出来源
|
|
|
unsigned char sky_nDecisionStatus; // 决策状态,输出来源
|
|
|
unsigned char sky_TrkDownRatio; // 对空跟踪降采样倍数
|
|
|
unsigned short sky_TrkMemFrm; // 跟踪目标进记忆帧数
|
|
|
unsigned short sky_nTrkCX; // 决策目标信息中心点X
|
|
|
unsigned short sky_nTrkCY; // 决策目标信息中心点Y
|
|
|
unsigned short sky_nTrkW; // 决策目标信息宽度
|
|
|
unsigned short sky_nTrkH; // 决策目标信息高度
|
|
|
unsigned short sky_nTrkPxlsCnt; // 跟踪目标像素数
|
|
|
unsigned short sky_fTrkConf; // 跟踪目标置信度
|
|
|
unsigned char sky_bGuideInFov; // 导引目标是否在视场
|
|
|
unsigned short sky_nGuideCX; // 导引区域中心X
|
|
|
unsigned short sky_nGuideCY; // 导引区域中心Y
|
|
|
unsigned short sky_nGuideW; // 导引区域宽度
|
|
|
unsigned short sky_nGuideH; // 导引区域高度
|
|
|
|
|
|
unsigned char resv[48]; //预留
|
|
|
}ARIDLL_DEBUG_OUTPUT;
|
|
|
|
|
|
|
|
|
|
|
|
//跟踪目标输出结构体
|
|
|
typedef struct tagARIDLL_OUTPUT
|
|
|
{
|
|
|
int nTimeStamp; //当前帧时间戳(透传),单位:毫秒
|
|
|
|
|
|
// 系统工作模式(透传)
|
|
|
GLB_SYS_MODE nSysMode; //凝视/扇扫/周扫
|
|
|
int nFrmNum; //处理帧计数
|
|
|
|
|
|
// 场景模式
|
|
|
GLB_SCEN_MODE nScenMode; //对空/对地/对海
|
|
|
|
|
|
//*****工作状态*****
|
|
|
GLB_STATUS nStatus; //待命/检测/跟踪/丢失状态信息等
|
|
|
|
|
|
//*****目标检测*****(短时航迹点,用于用户指示)
|
|
|
int nAlarmObjCnts; //当前帧告警目标总个数
|
|
|
ARIDLL_OBJINFO stAlarmObjs[ST_OBJ_NUM]; //检测目标信息数组
|
|
|
|
|
|
//*****目标跟踪*****(长时航迹点,第0个为主目标送伺服跟踪)
|
|
|
int nTrackObjCnts; //跟踪目标个数
|
|
|
ARIDLL_OBJINFO stTrackers[LT_OBJ_NUM]; //跟踪器输出数组
|
|
|
|
|
|
// AI跟踪器协同控制指令输出,用于控制端侧NPU程序
|
|
|
AIT_Command stAI_TkCmd;
|
|
|
|
|
|
//搜索区域(对空场景为导引区域)
|
|
|
RECT32S rsRecaptureRion;
|
|
|
|
|
|
//指示轨迹预测模块是否相信当前跟踪点
|
|
|
BBOOL bPredictJam;
|
|
|
|
|
|
//调试信息
|
|
|
ARIDLL_DEBUG_OUTPUT stDebugInfo;
|
|
|
|
|
|
}ARIDLL_OUTPUT;
|
|
|
|
|
|
|
|
|
typedef struct tag_Objinfo
|
|
|
{
|
|
|
float x; //中心点x
|
|
|
float y; //中心点x
|
|
|
float w; //目标宽
|
|
|
float h; //目标高
|
|
|
float score; //置信度
|
|
|
int classIndex; //类别
|
|
|
int frameID; //图像帧编号
|
|
|
int key_ID; //关键部位序号
|
|
|
}OBJ_INFO;
|
|
|
|
|
|
typedef struct tgPointXY
|
|
|
{
|
|
|
double X;
|
|
|
double Y;
|
|
|
}PointXY;
|
|
|
typedef struct tarResult
|
|
|
{
|
|
|
unsigned char nObjID; //目标编号,从1开始,最大值为目标关联后目标数目
|
|
|
double tLon; //目标经度
|
|
|
double tLat; //目标纬度
|
|
|
double tH; //目标高度
|
|
|
double tX; //地心地固坐标系:X
|
|
|
double tY; //地心地固坐标系:Y
|
|
|
double tZ; //地心地固坐标系:Z
|
|
|
double tSpeedX; //目标X方向速度
|
|
|
double tSpeedY; //目标Y方向速度
|
|
|
double tSpeedZ; //目标Z方向速度
|
|
|
double Speed; //目标的合速度
|
|
|
double tServoAz; //地理引导伺服输出方位角
|
|
|
double tServoPt; //地理引导伺服输出俯仰角
|
|
|
double ENUPole_Az; //北天东地理极坐标—方位角
|
|
|
double ENUPole_Pt; //北天东地理极坐标—俯仰角
|
|
|
double preDis; //线性预测激光测距值
|
|
|
}tarResult;
|
|
|
|
|
|
|
|
|
typedef struct stTrgOutput1
|
|
|
{
|
|
|
int nObjID; //目标编号
|
|
|
double tLon; //目标经度
|
|
|
double tLat; //目标纬度
|
|
|
double tH; //目标高度
|
|
|
double tX; //地心地固,X
|
|
|
double tY; //地心地固,Y
|
|
|
double tZ; //地心地固,Z
|
|
|
double tSpeedX; //目标X方向速度
|
|
|
double tSpeedY; //目标Y方向速度
|
|
|
double tSpeedZ; //目标Z方向速度
|
|
|
double Speed; //目标的合速度
|
|
|
double sumLon; //目标经度和
|
|
|
double sumLat; //目标纬度和
|
|
|
double sumH; //目标高度和
|
|
|
double tfLon; //目标均值滤波经度
|
|
|
double tfLat; //目标均值滤波纬度
|
|
|
double tfH; //目标均值滤波高度
|
|
|
int T; //有源定位次数
|
|
|
double BLon; //图像中B点的经度
|
|
|
double BLat; //图像中B点的纬度
|
|
|
double BH; //图像中B点的高度
|
|
|
double ALon; //图像中心点的经度
|
|
|
double ALat; //图像中心点的纬度
|
|
|
double AH; //图像中心点的高度
|
|
|
}stTrgOutput1;
|
|
|
|
|
|
typedef struct
|
|
|
{
|
|
|
uint16_t u16Gpsweek; //GPS周
|
|
|
uint32_t u32Gpssec; //GPS秒
|
|
|
float fAz; //偏航角0~360
|
|
|
float fPt; //俯仰角-90~90
|
|
|
float fRol; //横滚角-180~180
|
|
|
double i32Lat; //纬度-90~90 比例系数1E-7
|
|
|
double i32Lon; //经度-180~180 比例系数1E-7
|
|
|
float i32Height; //高度比例系数0.001
|
|
|
float fEspeed; //东向速度m/s +/-250
|
|
|
float fNspeed; //北向速度m/s +/-250
|
|
|
float fSkyspeed; //天向速度m/s +/-250
|
|
|
double dGyroX; //罗盘X轴角速度 m/s
|
|
|
double dGyroY; //罗盘Y轴角速度 m/s
|
|
|
double dGyroZ; //罗盘Z轴角速度 m/s
|
|
|
char hour; //时
|
|
|
char minute; //分
|
|
|
char second; //秒
|
|
|
int millsec; //毫秒
|
|
|
}INS_DATA1;
|
|
|
|
|
|
// 目标跟踪状态
|
|
|
typedef enum tagTrackingStatus1
|
|
|
{
|
|
|
xNOT_TRACKING = 0,//未跟踪
|
|
|
xSTABLE_TRACKING = 1,//稳跟
|
|
|
xMEM_TRACKING = 2//记忆跟踪
|
|
|
}TrackingStatus1;
|
|
|
|
|
|
typedef struct tagRect32S1 //BYTES: 4*4=16
|
|
|
{
|
|
|
int x; /*> 左上点x坐标 */
|
|
|
int y; /*> 左上点y坐标 */
|
|
|
int w; /*> 矩形宽度 */
|
|
|
int h; /*> 矩形高度 */
|
|
|
}RECT32S1;
|
|
|
|
|
|
// 尺度模式
|
|
|
typedef enum tagSizeType1
|
|
|
{
|
|
|
xunKnown, //不确定目标或未识别尺寸类型
|
|
|
xDimTarget, //弱小目标
|
|
|
xSmallTarget, //小目标
|
|
|
xMiddleTarget, //临界目标
|
|
|
xAreaTarget //面目标
|
|
|
}SizeType1;
|
|
|
|
|
|
|
|
|
// 目标检测算法标识
|
|
|
typedef enum tagemObjSrc1
|
|
|
{
|
|
|
xArith_DST = 1, // 检测来源--小目标
|
|
|
xArith_DAT = 2, // 检测来源--面目标
|
|
|
xArith_AI = 3, // 检测来源--AI检测
|
|
|
xArith_KCF = 4, // 检测来源--KCF
|
|
|
xArith_TLD = 5, // 检测来源--TLD
|
|
|
xArith_Manual = 6,
|
|
|
xArith_SiamRPN = 7, // 检测来源--SiamRPN
|
|
|
xArith_AIMap = 8 // 检测来源--AI检测映射
|
|
|
}emObjSrc1;
|
|
|
|
|
|
typedef struct tagARIDLL_OBJINFO1
|
|
|
{
|
|
|
//*****1.目标状态信息*****
|
|
|
int nFrameId; //目标当前信息所对应的帧编号
|
|
|
unsigned char unObjStatus; //目标搜索状态信息,更新/新增/删除
|
|
|
unsigned char bMainTracked; //目标是否为主跟踪目标
|
|
|
TrackingStatus1 unTrackingStatus;//目标跟踪状态
|
|
|
|
|
|
|
|
|
//*****2.目标管道信息*****
|
|
|
int nOutputID; //输出告警目标
|
|
|
int nInPipesID; //目标在管道数组中的编号
|
|
|
int nPipeLostCnt; //目标当前管道连续丢失计数
|
|
|
int nTotalCnt; // 目标当前管道总帧数
|
|
|
unsigned char bInCurrFov; //目标是否在当前视场
|
|
|
int nAntiJamming; // 抗干扰状态
|
|
|
|
|
|
//*****3.目标核心信息*****
|
|
|
float nX; //目标中心点图像坐标x
|
|
|
float nY; //目标中心点图像坐标y
|
|
|
float nObjW; //目标宽度
|
|
|
float nObjH; //目标高度
|
|
|
float fAz; //目标当前方位角
|
|
|
float fPt; //目标当前俯仰角
|
|
|
|
|
|
// 目标预测位置
|
|
|
float fPredAz;
|
|
|
float fPredPt;
|
|
|
|
|
|
//*****4.其他属性信息*****
|
|
|
int nObjGray; //目标灰度
|
|
|
int nObjMaxGray; //目标极值灰度
|
|
|
int nMaxPosX; //目标极大值点X
|
|
|
int nMaxPosY; //目标极大值点Y
|
|
|
int nPixCnts; //目标像素个数
|
|
|
unsigned char ubSizeType; //目标尺寸类型:
|
|
|
float fProb; //目标识别置信度
|
|
|
float fSNR; //目标信噪比值
|
|
|
float fTgEntropy; //目标信息熵值
|
|
|
float fBgEntropy; //目标背景信息熵
|
|
|
float fSaliency; //目标显著性值
|
|
|
|
|
|
//
|
|
|
bool nJammingSucess; //目标成功干扰
|
|
|
int nClassID; //目标类型
|
|
|
|
|
|
// 如果处于跟踪状态,则输出下列值
|
|
|
RECT32S1 SA_SrBox;//小面目标跟踪波门
|
|
|
SizeType1 SA_SizeType;//尺度信息
|
|
|
RECT32S1 KCF_SrBox;//KCF波门
|
|
|
RECT32S1 TLD_SrBox;//TLD波门
|
|
|
float fConf;//跟踪置信度
|
|
|
emObjSrc1 ArithSrc;//跟踪算法来源,决策后
|
|
|
|
|
|
unsigned char byte[20];//预留
|
|
|
|
|
|
//-----------------------------------------------//
|
|
|
bool MoveStatus; // 运动状态,true--运动 false -- 静止
|
|
|
|
|
|
}ARIDLL_OBJINFO1;
|
|
|
|
|
|
|
|
|
|
|
|
//////////////////////////
|
|
|
//地理引导信息
|
|
|
typedef struct
|
|
|
{
|
|
|
double fLon; //载机经度
|
|
|
double fLat; //载机纬度
|
|
|
double fWGS_H; //载机高度
|
|
|
double fPlatAz; //载机航向角
|
|
|
double fPlatPt; //载机俯仰角
|
|
|
double fPlatRoll; //载机横滚角
|
|
|
double fServoAz; //伺服方位角
|
|
|
double fServoPt; //伺服俯仰角
|
|
|
double x; //CGCS直角坐标x
|
|
|
double y; //CGCS直角坐标y
|
|
|
double z; //CGCS直角坐标z
|
|
|
double Distance; //激光测距值
|
|
|
double tLon; //目标经度(标定点真值)
|
|
|
double tLat; //目标纬度(标定点真值)
|
|
|
double tH; //目标高度(标定点真值)
|
|
|
}GeogGuideInfo;
|
|
|
|
|
|
|
|
|
//目标变化信息
|
|
|
typedef struct
|
|
|
{
|
|
|
char change[20];
|
|
|
float x1;
|
|
|
float y1;
|
|
|
float x2;
|
|
|
float y2;
|
|
|
}variationInfo;
|
|
|
|
|
|
//跟踪目标信息
|
|
|
|
|
|
|
|
|
|
|
|
//跟踪目标信息
|
|
|
typedef struct tagxARIDLL_OUTPUT
|
|
|
{
|
|
|
int nTimeStamp; //当前帧时间戳(透传),单位:毫秒
|
|
|
int nSysMode; // 系统工作模式(透传)
|
|
|
int nFrmNum; //处理帧计数
|
|
|
|
|
|
int nStatus; //工作状态--待命/检测/跟踪/丢失状态信息等
|
|
|
|
|
|
//目标检测(短时航迹点,用于用户指示)
|
|
|
int nAlarmObjCnts; //当前帧告警目标总个数
|
|
|
ARIDLL_OBJINFO1 stAlarmObjs[M_ST_OBJ_NUM]; //检测目标信息数组
|
|
|
|
|
|
//目标跟踪(长时航迹点,第0个为主目标送伺服跟踪) //锁定主跟踪
|
|
|
int nTrackObjCnts; //跟踪目标个数
|
|
|
ARIDLL_OBJINFO1 stTrackers[M_LT_OBJ_NUM]; //跟踪器输出数组
|
|
|
|
|
|
}xTRACK_OUTPUT;
|
|
|
|
|
|
//目标融合识别信息
|
|
|
typedef struct tagOBJINFO_RECT
|
|
|
{
|
|
|
float nx; // 目标框中心点图像坐标x
|
|
|
float ny; // 目标框中心点图像坐标y
|
|
|
float nW; // 目标宽度
|
|
|
float nH; // 目标高度
|
|
|
float fconfidence; // 目标识别置信度
|
|
|
int class_id; // 目标类别
|
|
|
}OBJINFO_RECT1;
|
|
|
|
|
|
//地理引导结果
|
|
|
typedef struct stGuide
|
|
|
{
|
|
|
double Yaw1; //伺服方位(解1)
|
|
|
double Pitch1; //伺服俯仰(解1)
|
|
|
double Yaw2; //伺服方位(解2)
|
|
|
double Pitch2; //伺服俯仰(解2)
|
|
|
double ro; //目标和载机间直线距离(激光测距理论值)
|
|
|
}Guide;
|
|
|
|
|
|
//定位结果
|
|
|
typedef struct stTrgOutput2
|
|
|
{
|
|
|
unsigned char nObjID; //目标编号
|
|
|
double tLon; //目标经度
|
|
|
double tLat; //目标纬度
|
|
|
double tH; //目标高度
|
|
|
double tX; //地心地固,X
|
|
|
double tY; //地心地固,Y
|
|
|
double tZ; //地心地固,Z
|
|
|
double tSpeedX; //目标X方向速度
|
|
|
double tSpeedY; //目标Y方向速度
|
|
|
double tSpeedZ; //目标Z方向速度
|
|
|
double Speed; //目标的合速度
|
|
|
}stTrgOutput2;
|
|
|
|
|
|
typedef struct tagFusionSpeed32F //BYTES: 2*4=8
|
|
|
{
|
|
|
float vx; //x方向速度
|
|
|
float vy; //y方向速度
|
|
|
float vz; //z方向速度
|
|
|
}SPEEDXYZ32F;
|
|
|
|
|
|
typedef struct tagPoint3D
|
|
|
{
|
|
|
double x; //<2F><>άֱ<CEAC><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵx<CFB5><78><EFBFBD><EFBFBD>
|
|
|
double y; //<2F><>άֱ<CEAC><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵy<CFB5><79><EFBFBD><EFBFBD>
|
|
|
double z; //<2F><>άֱ<CEAC><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵz<CFB5><7A><EFBFBD><EFBFBD>
|
|
|
} POINT_3D;
|
|
|
|
|
|
typedef struct tagPoint2S
|
|
|
{
|
|
|
short x; //<2F><>άͼ<CEAC><CDBC>x<EFBFBD><78><EFBFBD><EFBFBD>
|
|
|
short y; //<2F><>άͼ<CEAC><CDBC>y<EFBFBD><79><EFBFBD><EFBFBD>
|
|
|
} POINT_2S;
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><CEAC><EFBFBD><EFBFBD>ṹ<EFBFBD><E1B9B9>--<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
typedef struct tagPoint3F
|
|
|
{
|
|
|
float x; //<2F><>άֱ<CEAC><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵx<CFB5><78><EFBFBD><EFBFBD>
|
|
|
float y; //<2F><>άֱ<CEAC><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵy<CFB5><79><EFBFBD><EFBFBD>
|
|
|
float z; //<2F><>άֱ<CEAC><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵz<CFB5><7A><EFBFBD><EFBFBD>
|
|
|
} POINT_3F;
|
|
|
//告警目标信息
|
|
|
typedef struct
|
|
|
{
|
|
|
unsigned int uiTargetTimeTag; //时间标签
|
|
|
unsigned short usMissleIdx; //标识告警目标索引,目标编号,(1~255)
|
|
|
unsigned short usMissleBatchNum; //目标批号,系统统一编号
|
|
|
unsigned short usGuideDetectState; //被引导红外探测状态 0:无效 1:成功
|
|
|
unsigned short usQuickWarningTag; //快速目标告警标识,0=NA,1:快速告警2:自主告警
|
|
|
short sAzimuthAng; //目标方位角,单位0.01°,取值范围-180°~+180°
|
|
|
unsigned short usAzimuthAngErrorAbs; //方位角与均值的误差绝对值,单位:0.01°
|
|
|
short sPitchingAng; //目标俯仰角,单位0.01°,取值范围-90°~+90°
|
|
|
unsigned short usPitchingAngErrorAbs; //俯仰角与估计均值的误差绝对值,单位:0.01°
|
|
|
unsigned char ucTargetType; //目标类型,0=NA,1=导弹,2=未知
|
|
|
unsigned char ucSpatialAttribute; //空间属性,0=NA,1=空中,2=地面
|
|
|
unsigned char ucIsActiveOrPassiveStage; //主被动状态,0=NA,1=主动段,2=被动段
|
|
|
unsigned char ucNewOrOld; //目标新旧标记 0=旧目标 1=新目标
|
|
|
unsigned char ucTargetSize; //目标大小(尺寸)
|
|
|
unsigned short usTargetEnergy; //目标能量
|
|
|
|
|
|
POINT_2S pPos; //目标位置(图像坐标)
|
|
|
POINT_3F pPos3D; //目标映射到球面上的三维空间坐标
|
|
|
unsigned short usPlace; //小目标坐标位于哪一副图像
|
|
|
unsigned short usPipeIndex; //告警目标所在的管道序号
|
|
|
unsigned char ucIsNewAlarm; //是否为新的告警,0为否,1为是
|
|
|
unsigned char ucOutputAlarm; //待输出告警,0表示不是告警,1表示超出16个小于32个的候选告警目标,2表示为筛选的四个告警目标(20ms),3表示为上报的告警目标(100ms)
|
|
|
short sAlarmTypeFlag; //告警类型标记
|
|
|
|
|
|
SPEEDXYZ32F fPlaneSpeedXYZ; //载体地心直角坐标系下的绝对速度
|
|
|
float fSpeedAz; //方位速度信息(相对载体)
|
|
|
float fSpeedPt; //俯仰速度信息(相对载体)
|
|
|
SPEEDXYZ32F fObjSpeedXYZ; //目标在地心直角坐标系下的绝对速度
|
|
|
float nDistance; //告警目标距离估计值
|
|
|
}ALARM_PARA;
|
|
|
|
|
|
typedef struct
|
|
|
{
|
|
|
float fAz;
|
|
|
float fPz;
|
|
|
float fservoAzSpeed; //当前帧伺服方位角速度,横滚角速度
|
|
|
float fservoPtSpeed; //当前帧伺服俯仰角速度
|
|
|
}Servo_Control;
|
|
|
|
|
|
typedef struct stdWgs84GPS
|
|
|
{
|
|
|
double Lon; //<2F><><EFBFBD><EFBFBD>
|
|
|
double Lat; //γ<><CEB3>
|
|
|
double Height; //<2F>߶<EFBFBD>
|
|
|
}STD_WGS84_GPS;
|
|
|
typedef struct stdSpeed //BYTES: 2*4=8
|
|
|
{
|
|
|
double vx; //x<><78><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
|
|
|
double vy; //y<><79><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
|
|
|
double vz; //z<><7A><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
|
|
|
}STD_SPEED;
|
|
|
typedef struct stdPoint64d
|
|
|
{
|
|
|
double X; //<2F><><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵX
|
|
|
double Y; //<2F><><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵY
|
|
|
double Z; //<2F><><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵZ
|
|
|
}STD_POINT64D;
|
|
|
typedef struct stdFilter_State
|
|
|
{
|
|
|
//<2F><>صع̵<D8B9><CCB5><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵϵ
|
|
|
STD_WGS84_GPS nKalManBLH; //Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵBLH<4C><48>WGS84<38><34><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD>
|
|
|
STD_POINT64D pfKalmanPos; //Ŀ<><C4BF><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB> //BYTES: 2*4=8
|
|
|
STD_WGS84_GPS nKalManBLHNext; //Ŀ<><C4BF><EFBFBD><EFBFBD>һ֡<D2BB><D6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵBLH<4C><48>WGS84<38><34><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD>
|
|
|
STD_POINT64D pfKalmanPosNext; //Ŀ<><C4BF><EFBFBD><EFBFBD>һ֡<D2BB>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB> //BYTES: 2*4=8
|
|
|
STD_POINT64D fKalmanSpeed; //Ŀ<><C4BF><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD> x\y\z<><7A><EFBFBD><EFBFBD> //BYTES: 2*4=8
|
|
|
STD_POINT64D fKalmanAccSpeed; //Ŀ<><C4BF><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD>Ƽ<EFBFBD><C6BC>ٶ<EFBFBD> x\y\z<><7A><EFBFBD><EFBFBD> //BYTES: 2*4=8
|
|
|
}STD_FILTER_ST;
|
|
|
|
|
|
typedef struct stdServo
|
|
|
{
|
|
|
double fAz; //方位角
|
|
|
double fPt; //俯仰角
|
|
|
double nDistance; //目标激光距离
|
|
|
}STD_SERVO;
|
|
|
typedef struct stdFilterVideoOutput //BYTES: 3*1 + 1*2 + 7*4 + 3*8 = 57
|
|
|
{
|
|
|
unsigned char nOutputNums; //输出滤波目标个数
|
|
|
bool bObject; //标识目标是否已被创建。1-目标已创建,0-目标未创建
|
|
|
unsigned int unFrmTime; //目标截获时刻
|
|
|
unsigned int unFrmID; //帧编号
|
|
|
//目标滤波信息
|
|
|
STD_WGS84_GPS nObjBLH; //大地坐标系wgs84 目标经纬高
|
|
|
STD_SPEED pfObjSpeed; //目标地心直角坐标系下的绝对速度
|
|
|
STD_POINT64D pfObjCurrent; //目标的大地直角空间坐标系
|
|
|
STD_FILTER_ST pfObj_filterInfo; //目标估计状态
|
|
|
//载体信息
|
|
|
STD_WGS84_GPS nPlatBLH; //大地坐标系wgs84 目标经纬高
|
|
|
STD_SPEED pfPlatSpeed; //目标地心直角坐标系下的绝对速度
|
|
|
STD_POINT64D pfPlatCurrent; //目标的大地直角空间坐标系
|
|
|
STD_FILTER_ST pfPlat_filterInfo; //载体估计状态
|
|
|
//估计信息
|
|
|
STD_SERVO pfObjZtAangle; //目标在载体坐标的指向
|
|
|
STD_SERVO pfObjServeAangle; //目标在伺服坐标的指向
|
|
|
//预测信息
|
|
|
STD_SERVO pfObjZtAangleNext; //目标在载体坐标的指向
|
|
|
STD_SERVO pfObjServeAangleNext; //目标在伺服坐标的指向
|
|
|
//量测信息
|
|
|
STD_SERVO pfServeAangle; //伺服码盘值 //输入值【可不移植】
|
|
|
|
|
|
//长时间外推
|
|
|
STD_SERVO pfServeAanglePredict[10]; //伺服长时间外推,10s
|
|
|
STD_WGS84_GPS nPlatPreictBLH[10];
|
|
|
STD_WGS84_GPS nObjPredictBLH[10];
|
|
|
}STD_FILTER_VIDEOOUTPUT;
|
|
|
typedef struct Angle2DSpeed32f
|
|
|
{
|
|
|
double fPt;//俯仰角
|
|
|
double fAz;//方位角
|
|
|
}ANGLE2DSPEED32F;
|
|
|
|
|
|
//2.大地坐标系WGS84_GPS结构体
|
|
|
typedef struct tagGPS
|
|
|
{
|
|
|
float Lon; //经度
|
|
|
float Lat; //纬度
|
|
|
float Height; //高度
|
|
|
} WGS84_GPS;
|
|
|
|
|
|
//载机姿态角度结构体
|
|
|
typedef struct tagAngle3D32F
|
|
|
{
|
|
|
float fAz; //偏航角
|
|
|
float fPt; //俯仰角
|
|
|
float fRt; //滚转角
|
|
|
}ANGLE3D32F;
|
|
|
//融合信息
|
|
|
typedef struct tagFusionTarget
|
|
|
{
|
|
|
bool bOccupy; //标识管道是否已经被占用
|
|
|
unsigned char nTargetID; //目标批号
|
|
|
unsigned char nObjClassID; //目标类别
|
|
|
float score; //融合后目标识别的置信度
|
|
|
|
|
|
//目标信息(未定位时,以下3个结构体变量输出为0)
|
|
|
WGS84_GPS ObjBLH; //目标大地坐标系BLH(WGS84)信息
|
|
|
POINT_3D ObjXYZ; //目标地心直角坐标系下XYZ
|
|
|
SPEEDXYZ32F fObjSpeedXYZ; //目标地心直角坐标系下的绝对速度
|
|
|
|
|
|
//本机载机信息
|
|
|
WGS84_GPS PlaneBLH; //载机大地坐标系BLH(WGS84)信息)
|
|
|
POINT_3D fPlanePnt; //本机位置
|
|
|
SPEEDXYZ32F sfPlaneSpeed; //本机速度
|
|
|
ANGLE3D32F fPlaneAngle; //载机姿态(机体坐标系)
|
|
|
|
|
|
//目标融合位置信息:地固地心坐标系
|
|
|
POINT_3D ptBornPos; //目标初始位置
|
|
|
POINT_3D ptPredictPos; //目标预测位置
|
|
|
|
|
|
//只能提供已定位的本机以及外机的光电目标信息,外机未定位目标无法提供相对本机的方位、俯仰
|
|
|
//(缺少距离信息,或这友机信息只提供定位后的目标信息)
|
|
|
float fAz; //目标方位角(相对于载体,定位目标的相对角度)
|
|
|
float fPt; //目标俯仰角(相对于载体)
|
|
|
ANGLE2DSPEED32F sfSpeed; //目标速度
|
|
|
//ANGLE2DSPEED32F sfPredictAngle; //目标角度位置
|
|
|
bool bLocation; //已定位数据标志位定位模块可以提供
|
|
|
bool JMBMonitor; //敌方是否投放干扰弹(透传)
|
|
|
bool MissMonitor; //敌方是否发射导弹(透传)
|
|
|
}FUSION_OBJECT;
|
|
|
|
|
|
//目标意图
|
|
|
typedef struct TarGetPurpose
|
|
|
{
|
|
|
unsigned char ucFoeState; //敌机状态,具体为上面几种宏定义的状态
|
|
|
float fConfidence; //当前意图判断的置信度(作为备用字段)
|
|
|
}TarGetPurpose;
|
|
|
|
|
|
//意图结果
|
|
|
typedef struct FusedDataDst
|
|
|
{
|
|
|
unsigned char ucNumber; //敌目标编号
|
|
|
unsigned char ucClassType; //敌目标类型, 1防空导弹车,2雷达车,3高炮,4飞机,5是装甲、汽车、油罐车等地面车辆
|
|
|
|
|
|
//事件信息
|
|
|
bool bFoeRadarIsOpen; //雷达是否展开
|
|
|
bool bFoeMissileIsOpen; //导弹车是否竖起
|
|
|
bool bFoeCannonIsopen; //高炮是否竖起
|
|
|
bool bFoeCarsIsAround; //高炮或防空导弹是否散开
|
|
|
bool bFoeCarsIsArrange; //高炮或防空导弹是否成一字型
|
|
|
bool bFoeIsFire; //敌是否发射导弹或高炮
|
|
|
float fFoeSpeed; //敌速度
|
|
|
float fFoeDistance; //敌我距离
|
|
|
float fAzimuthAng; //目标方位角
|
|
|
float fPitchingAng; //目标俯仰角
|
|
|
POINT_3D FoeLocation; //目标坐标
|
|
|
POINT_3D ObjPrePath[10]; //目标预测轨迹
|
|
|
// POINT_3D FoeGroundLoc[10]; //地面遭遇位置
|
|
|
|
|
|
float fOurPlaneSpeed; //我机飞行速度
|
|
|
bool bOurPlaneSearchRadar; //我机是否开启搜索雷达
|
|
|
bool bOurPlaneTrackRadar; //我机是否开启跟踪雷达
|
|
|
bool bOurMissile; //我机是否发射导弹
|
|
|
POINT_3D OurPlaneLocation; //我机坐标
|
|
|
|
|
|
TarGetPurpose ObjPurPose; //目标意图
|
|
|
}FusedDataDst;
|
|
|
|
|
|
|
|
|
|
|
|
//威胁等级排序
|
|
|
typedef struct ParaThreatOutput
|
|
|
{
|
|
|
char bDangerLevel; //目标威胁等级(编号为1,目标威胁等级最高)
|
|
|
char uObjID; //威胁目标对应的编号
|
|
|
float fThreat; //目标威胁程度(值越大等级越小,即威胁程度越高)
|
|
|
}PTOutput;
|
|
|
|
|
|
|
|
|
//激光测距值
|
|
|
typedef struct
|
|
|
{
|
|
|
int type; //激光测距类型
|
|
|
int freq; //激光测距频率
|
|
|
double laserDistance; //激光测距值
|
|
|
}LaserInfo;
|
|
|
|
|
|
|
|
|
typedef enum tagGLB_VIDE_TYPE
|
|
|
{
|
|
|
xGLB_VIDEO_IR_SW = 0x01, //红外短波
|
|
|
xGLB_VIDEO_IR_MW = 0x02, //红外中波
|
|
|
xGLB_VIDEO_IR_LW = 0x03, //红外长波
|
|
|
xGLB_VIDEO_VL = 0x04 //电视
|
|
|
}GLB_VIDE_TYPE;
|
|
|
|
|
|
//相机信息
|
|
|
typedef struct
|
|
|
{
|
|
|
GLB_VIDE_TYPE unVideoType; //视频源类型
|
|
|
float dx; //光轴与图像中心像素偏差x
|
|
|
float dy; //光轴与图像中心像素偏差y
|
|
|
int ImgWidth; //图像分辨率宽
|
|
|
int ImgHeight; //图像分辨率高
|
|
|
float nPixleSize; //像元尺寸 单位:um
|
|
|
float nFocal; //相机焦距 单位:mm
|
|
|
}CamInfo1;
|
|
|
|
|
|
|
|
|
//载机信息
|
|
|
typedef struct
|
|
|
{
|
|
|
unsigned char nPlaneID; //载机ID
|
|
|
double B; //纬度
|
|
|
double L; //经度
|
|
|
double H; //高
|
|
|
double fRoll; //横滚角
|
|
|
double fPitch; //俯仰角
|
|
|
double fYaw; //方位角
|
|
|
}AirCraftInfo1;
|
|
|
|
|
|
|
|
|
// //伺服信息
|
|
|
// typedef struct
|
|
|
// {
|
|
|
// float fServoAz; //当前帧伺服方位角
|
|
|
// float fServoPt; //当前帧伺服俯仰角
|
|
|
// float fServoAzSpeed; //当前帧伺服方位角速度
|
|
|
// float fServoPtSpeed; //当前帧伺服俯仰角速度
|
|
|
// }ServoInfo1;
|
|
|
//UTC时间
|
|
|
typedef struct TIME
|
|
|
{
|
|
|
unsigned short year; //年,0-65535
|
|
|
unsigned char month; //月,1-12
|
|
|
unsigned char day; //日,1-31
|
|
|
unsigned char hour; //时,0-23
|
|
|
unsigned char minute; //分,0-59
|
|
|
unsigned char second; //秒,0-59
|
|
|
unsigned short msecond; //毫秒,0-990,LSB=10ms
|
|
|
}UTC_TIME;
|
|
|
|
|
|
//跟踪目标输出结构体
|
|
|
typedef struct tagPARALINE_OUTPUT
|
|
|
{
|
|
|
unsigned int index;
|
|
|
CamInfo1 caminfo; //相机信息
|
|
|
AirCraftInfo1 airCraftInfo; //载机信息
|
|
|
Servo_Control servoInfo; //伺服信息
|
|
|
GeogGuideInfo stGuideInfo; //地理引导信息
|
|
|
LaserInfo stLaserInfo; //激光测距
|
|
|
|
|
|
|
|
|
//*************************** 各模块算法结果与状态 ****************************
|
|
|
uint32_t str_identifyIR_obj_cnt; //红外图像智能识别目标个数
|
|
|
OBJ_INFO str_identifyIR_objs[50]; //红外图像智能识别目标结果
|
|
|
uint32_t str_identifyVL_obj_cnt; //可见光图像智能识别目标个数
|
|
|
OBJ_INFO str_identifyVL_objs[50]; //可见光图像智能识别目标结果
|
|
|
|
|
|
uint32_t m_segmentIR_obj_cnt; //红外地物分类个数
|
|
|
OBJ_INFO m_segmentIR_objs[10]; //红外地物分类目标
|
|
|
uint32_t m_segmentVL_obj_cnt; //可见光地物分类个数
|
|
|
OBJ_INFO m_segmentVL_objs[10]; //可见光地物分类目标
|
|
|
|
|
|
// uint32_t m_ChangeinfoIR_obj_cnt; //红外变化检测个数
|
|
|
// variationInfo m_ChangeinfoIR_objs[30]; //红外变化检测目标
|
|
|
// uint32_t m_ChangeinfoVL_obj_cnt; //可见光变化检测个数
|
|
|
// variationInfo m_ChangeinfoVL_objs[30]; //可见光变化检测目标
|
|
|
|
|
|
|
|
|
xTRACK_OUTPUT m_trackIR_objs; //红外跟踪目标结果
|
|
|
xTRACK_OUTPUT m_trackVL_objs; //可见光跟踪目标结果
|
|
|
|
|
|
int ObjCnts_IR; //目标总个数(融合后红外视场内)
|
|
|
OBJINFO_RECT1 AIDetFusion_IR[50]; //红外图上AI融合结果
|
|
|
int ObjCnts_VL; //目标总个数(融合后可见光视场内)
|
|
|
OBJINFO_RECT1 AIDetFusion_VL[50]; //可见光图上AI融合结果
|
|
|
|
|
|
Guide m_geogGuideInfo; //地理引导结果
|
|
|
|
|
|
uint32_t m_activeLoc_cnt; //多目标有源定位个数
|
|
|
stTrgOutput1 m_mulActiveLoc[50]; //多目标定位结果
|
|
|
|
|
|
stTrgOutput1 m_singleActiveLoc; //单目标有源定位测速结果
|
|
|
|
|
|
stTrgOutput1 m_passiveLocate[50]; //无源定位结果
|
|
|
|
|
|
// uint32_t m_Alarm_obj_cnt; //红外告警目标个数
|
|
|
// ALARM_PARA m_Alarm_Papa[16]; //红外告警目标结果
|
|
|
|
|
|
// uint32_t m_Filter_obj_cnt; //航迹滤波目标个数
|
|
|
// STD_FILTER_VIDEOOUTPUT objFilterRes[50]; //航迹滤波结果
|
|
|
|
|
|
// unsigned int nFusionNumber; //融合后目标总个数
|
|
|
// FUSION_OBJECT objFusionList[60]; //融合输出结果
|
|
|
|
|
|
// int targetPurpnum; //目标意图个数
|
|
|
// FusedDataDst fusedatasrc[50]; //意图识别结果(输入透传输出)
|
|
|
|
|
|
// int m_threadLevel_cnt; //威胁等级目标个数
|
|
|
// PTOutput m_threadLevel_obj[100]; //威胁等级排序结果
|
|
|
|
|
|
UTC_TIME utcTime_laser;
|
|
|
UTC_TIME utcTime_ir;
|
|
|
|
|
|
}PARALINE_OUTPUT;
|
|
|
|
|
|
|
|
|
typedef struct S729paras_VL
|
|
|
{
|
|
|
//unsigned char IMG_VL[IMAGE_WIDTH_VL * IMAGE_HEIGHT_VL * (3 / 2)];
|
|
|
PARALINE_OUTPUT Paras_VL;
|
|
|
|
|
|
}Paras_VL;
|
|
|
|
|
|
typedef struct S729paras_IR
|
|
|
{
|
|
|
//unsigned char IMG_IR[IMAGE_WIDTH_IR * IMAGE_HEIGHT_IR * 2];
|
|
|
PARALINE_OUTPUT Paras_IR;
|
|
|
|
|
|
}Paras_IR;
|
|
|
|
|
|
//TRACK_OUTPUT outputIR = { 0 };
|
|
|
//TRACK_OUTPUT outputVL = { 0 };
|
|
|
|
|
|
|
|
|
//#pragma pack()
|