Blame view

src/ai_engine_module/vpt.h 3.58 KB
09c2d08c   Hu Chunming   arm交付版
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
  /*******************************************************************************************
  * Version: vpt_det_v0.0.0
  * CopyRight: 中科院自动化研究所模式识别实验室图像视频组
  * UpdateDate: 20190327
  * Content: 人车物检测
  ********************************************************************************************/
  
  #ifndef VPT_DET_H_
  #define VPT_DET_H_
  
  #ifdef _MSC_VER
  #ifdef VPT_DET_EXPORTS
  #define VPT_DET_API __declspec(dllexport)
  #else
  #define VPT_DET_API __declspec(dllimport)
  #endif
  #else
  #define VPT_DET_API   __attribute__ ((visibility ("default")))
  #endif
  
  #include "sy_common.h"
  
  //extern "C"
  //{
  
  #ifndef MAX_BATCH_SIZE
  #define MAX_BATCH_SIZE 16
  #endif
  
  #define MAX_DET_COUNT 50
  
  	//Utools Obj Results
  #ifndef __VPT_OBJ_RESULT__
  #define __VPT_OBJ_RESULT__
  	typedef struct vpt_obj_result
  	{
  		int obj_id;					//不开启跟踪时对应batch输入顺序,开启后对应目标的id
  		sy_rect obj_rect;					//位置
  		int obj_index;
  		float obj_score;
  	}vpt_obj_result;
  #endif
  
  	//Utools Results
  #ifndef __VPT_RESULT__
  #define __VPT_RESULT__ 
  	typedef struct vpt_result
  	{
  		int obj_count_;		                //返回特征数组总个数 < 检测中:单batch检测总数 / 分类中:Multi >
  		vpt_obj_result *obj_results_;		//batch 所有的结果 batch size <= MAX_BATCH_SIZE
  	}vpt_result;
  #endif //by Junlin 190121
  
  #ifndef __VPT_PARAM__
  #define __VPT_PARAM__
  	typedef struct vpt_param
  	{
09c2d08c   Hu Chunming   arm交付版
58
59
  		int devId;              //ָ指定显卡id
  		char* modelNames;
d51ea997   Zhao Shuaihua   升级玩手机、雨棚模型;模型批处理;...
60
  		char* modelNames_b;
09c2d08c   Hu Chunming   arm交付版
61
62
          float threshold;
  		bool isTrk;             //是否开启跟踪
d51ea997   Zhao Shuaihua   升级玩手机、雨棚模型;模型批处理;...
63
64
  		int max_batch;
  		vpt_param() :devId(0), max_batch(16), threshold(0.4), modelNames(nullptr), modelNames_b(nullptr), isTrk(false)  {};
09c2d08c   Hu Chunming   arm交付版
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
  	}vpt_param;
  #endif
  
  	/*************************************************************************
  	* FUNCTION: hcp_init
  	* PURPOSE: 初始化
  	* PARAM:
  	[out] tools		   - 句柄
  	[in]  param    - 初始化参数
  	* RETURN:
  	[out] int             - 初始化是否成功(SUCCEEDED表示成功,FAILED表示失败)
  	* NOTES:
  	*************************************************************************/
  	VPT_DET_API int vpt_init(void **handle, vpt_param param);
  
  	/*************************************************************************
  	* FUNCTION: hcp_process
  	* PURPOSE: 人骑车属性检测
  	* PARAM:
  	[in] tools		      - 句柄
  	[in] img_data          - 检测图像数据
  	[in] width            - 检测图像宽度
  	[in] height           - 检测图像高度
  	[in] channels         - 检测图像通道数
  	[in] result           - 检测结果
  	* RETURN:
  	[out] int             - 检测是否成功(SUCCEEDED表示成功,FAILED表示失败)
  	* NOTES:
  	*************************************************************************/
  	// VPT_DET_API int vpt_process(void * handle, sy_img img, vpt_result *result);
  
09c2d08c   Hu Chunming   arm交付版
96
97
  	VPT_DET_API int vpt_batch(void * handle, sy_img *batch_img, int batchsize, vpt_result *result);
  
d51ea997   Zhao Shuaihua   升级玩手机、雨棚模型;模型批处理;...
98
  	VPT_DET_API int vpt_batchV2(void * handle, sy_img *batch_img, int batchsize, vpt_result *result);
09c2d08c   Hu Chunming   arm交付版
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
  
  	/*************************************************************************
  	* FUNCTION: hcp_release
  	* PURPOSE: 资源释放
  	* PARAM:
  	[in] tools		    - 处理句柄
  	* RETURN:	NULL
  	* NOTES:
  	*************************************************************************/
  	VPT_DET_API void vpt_release(void **handle);
  
  
  	/*************************************************************************
  	* FUNCTION: hcp_get_version
  	* PURPOSE:
  	* PARAM:	NULL
  	* RETURN:	版本号
  	* NOTES:
  	*************************************************************************/
  	VPT_DET_API const char * vpt_get_version();
  //}
  #endif