Blame view

src/ai_engine_module/traffic_light_det.h 3.22 KB
fa818303   Zhao Shuaihua   增加闯红灯功能(特定场景);优化货...
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
  /*******************************************************************************************
  * Version: triffic_light_det_x64_v0.0.1
  * CopyRight: 中科视语(北京)科技有限公司
  * UpdateDate: 20230922
  * Content:头肩检测_货车
  ********************************************************************************************/
  #ifndef TRAFFIC_LIGHT_H_
  #define TRAFFIC_LIGHT_H_
  
  #ifdef _MSC_VER
  #ifdef TRAFFIC_LIGHT_EXPORTS
  #define TRAFFIC_LIGHT_API __declspec(dllexport)
  #else
  #define TRAFFIC_LIGHT_API __declspec(dllimport)
  #endif
  #else
  #define TRAFFIC_LIGHT_API __attribute__ ((visibility ("default")))
  #endif
  
  #include "sy_common.h"
  
  #define MAX_OBJ_COUNT 1000
  
  #ifdef __cplusplus
  extern "C"
  {
  #endif
  
  	typedef struct traffic_light_info	//结果结构体
  	{
  		int left;
  		int top;
  		int right;
  		int bottom;
  		double confidence;		//	置信度
  		int index;				//	类别索引
  	}traffic_light_info;
  
  	typedef struct traffic_light_result
  	{
  		traffic_light_info objinfo[MAX_OBJ_COUNT];
  		int objcount;
  	};
  
  	typedef struct traffic_light_param
  	{
fa818303   Zhao Shuaihua   增加闯红灯功能(特定场景);优化货...
47
48
  		int devId;		//运行卡号 GPU模式下有效
  		char* modelNames;
d51ea997   Zhao Shuaihua   升级玩手机、雨棚模型;模型批处理;...
49
  		char* modelNames_b;
fa818303   Zhao Shuaihua   增加闯红灯功能(特定场景);优化货...
50
  		float thresld;	//检测阈值 默认为0.3
d51ea997   Zhao Shuaihua   升级玩手机、雨棚模型;模型批处理;...
51
52
  		int max_batch;
  		traffic_light_param() :devId(0), max_batch(8), thresld(0.4), modelNames(nullptr), modelNames_b(nullptr) {};
fa818303   Zhao Shuaihua   增加闯红灯功能(特定场景);优化货...
53
  
fa818303   Zhao Shuaihua   增加闯红灯功能(特定场景);优化货...
54
55
56
57
58
59
60
61
62
63
64
65
66
  	}traffic_light_param;
  
  	/*************************************************************************
  	* FUNCTION: hst_init
  	* PURPOSE: 初始化
  	* PARAM:
  	[in] handle		 -处理句柄
  	[in] param		 -初始化参数
  	* RETURN:	handle
  	* NOTES:成功(0)或者错误代码(<0)
  	*************************************************************************/
  	TRAFFIC_LIGHT_API int traffic_light_init(void **handle, traffic_light_param param);
  	TRAFFIC_LIGHT_API int traffic_light_process_batch(void * handle, sy_img *image_data_array, int batchsize, traffic_light_result *result);
d51ea997   Zhao Shuaihua   升级玩手机、雨棚模型;模型批处理;...
67
  	TRAFFIC_LIGHT_API int traffic_light_process_batchV2(void * handle, sy_img *image_data_array, int batchsize, traffic_light_result *result);
fa818303   Zhao Shuaihua   增加闯红灯功能(特定场景);优化货...
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
96
97
98
99
100
101
102
103
104
105
106
  	/*************************************************************************
  	* FUNCTION: hst_release
  	* PURPOSE: 资源释放
  	* PARAM:
  	[in] handle		- 处理句柄
  	* RETURN:	NULL
  	* NOTES:
  	*************************************************************************/
  	TRAFFIC_LIGHT_API void traffic_light_release(void **handle);
  
  
  	/*************************************************************************
  	* FUNCTION: hst_process_gpu
  	* PURPOSE: 
  	* PARAM:
  	[in] handle		- 处理句柄
  	[in] rgb		- 图片数据(3通道BGR数据 cv::Mat格式)
  	[in] width		- 图片宽度
  	[in] height		- 图片高度
  	[in] result		- 搜索结果,在外部申请足够内存
  	* RETURN:	-1:图像错误; 其他:检测到的个数
  	* NOTES:
  	*************************************************************************/
  	TRAFFIC_LIGHT_API int traffic_light_process(void * handle, sy_img image, traffic_light_result *result);
  
  	/*************************************************************************
  	* FUNCTION: hst_getversion
  	* PURPOSE: 释放
  	* PARAM:	NULL
  	* RETURN:	版本号
  	* NOTES:
  	*************************************************************************/
  	TRAFFIC_LIGHT_API const char * traffic_light_getversion();
  
  #ifdef __cplusplus
  };
  #endif
  
  #endif