You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

82 lines
2.1 KiB

/*
* @Author: Jacky
* @Date: 2024-04-02 08:57:51
* @LastEditors: Jacky
* @LastEditTime: 2024-04-02 09:48:49
* @FilePath: \main_app_hi3559a\mpp\ai_track\ai\AIT_GlobalStruct.h
*/
#ifndef __AIT_GLOBALSTRUCT_H__
#define __AIT_GLOBALSTRUCT_H__
#include <opencv2/opencv.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/core.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/dnn.hpp>
using namespace std;
//*****************************************************************************
#define AIT_DETECTION_MAX_NUM 50
typedef struct tagAITPATH
{
//DasimaRPN
char *siam_model;
char *siam_cls;
char *siam_reg;
}AIT_PATH;
typedef struct tagAITTARGET
{
cv::Rect2f tTarget;
float fScore;
}AIT_TARGET;
//定义算法输出结果结构体
typedef struct tagAITOutput
{
//*******工作状态*******
int nStatus; //空闲/跟踪/定位/重捕状态信息等
int nErrorCode; //错误码编号
//*****跟踪目标信息*****
int nX; //目标中心点图像坐标x
int nY; //目标中心点图像坐标y
int nObjW; //目标宽度
int nObjH; //目标高度
unsigned char ubIDType; //目标识别类别标签
float fProb; //目标识别置信度
//******调试信息*********
unsigned char bInited;
int nTotalCnt; //跟踪帧数
int nContiLostCnt; //丢失
int nCurrentFrn;
int nContiDetectNum;
cv::Rect2f rfBox; //x,y 这里表示中心点
cv::Rect2f rfBoxPre; //x,y 这里表示中心点
float fX; //表示中心点
float fY;
float fObjW;
float fObjH;
int nSearchX; //搜索区域中心X
int nSearchY; //搜索区域中心Y
int nSearchW; //搜索区域宽度W
int nSearchH; //搜索区域高度H
//******AI跟踪高得分检测结果*******
int nDetectNum;
int nClusterNum;
AIT_TARGET nDetectArray[AIT_DETECTION_MAX_NUM];
cv::Rect2f nSimilarArray[AIT_DETECTION_MAX_NUM];
}AIT_OUTPUT;
#endif