Blame view

src/village_inc.h 3.33 KB
e8beee4d   Hu Chunming   实现jni接口
1
2
3
4
  #ifndef __VILLAGE_INC_H__
  #define __VILLAGE_INC_H__
  
  #include <string>
427201b2   Hu Chunming   完善结果返回
5
6
  #include <vector>
  #include "vehicle_analysis.h"
e8beee4d   Hu Chunming   实现jni接口
7
  
581a68a4   Hu Chunming   修正parse_road无返回值导...
8
9
10
11
  #include "opencv2/opencv.hpp"
  #include "opencv2/imgcodecs/legacy/constants_c.h"
  #include "opencv2/imgproc/types_c.h"
  
e8beee4d   Hu Chunming   实现jni接口
12
13
  struct VillageParam {
      int dev_id;
581a68a4   Hu Chunming   修正parse_road无返回值导...
14
      std::string sdk_path;
e3062370   Hu Chunming   优化日志
15
16
17
18
19
20
21
22
23
  
      // AI_LOG_LEVEL_CLOSE = -1,  // 关闭日
  	// AI_LOG_LEVEL_TRACE = 0,   // 跟踪变量
  	// AI_LOG_LEVEL_DEBUG = 1,       // 调试日志
  	// AI_LOG_LEVEL_INFO = 2,        // 普通日志信息 (如:无关紧要的信息输出)
  	// AI_LOG_LEVEL_WARNING = 3,     // 警告日志通知,模块一切正常(如:重要流程通知)
  	// AI_LOG_LEVEL_ERROR = 4,       // 重要日志,如结果和严重错误
      int log_level{2};
  	int log_days{30};               //日志保存周期
ba6761f1   Hu Chunming   补充日志
24
      std::string log_path{"logs"};             //日志文件路径
e3062370   Hu Chunming   优化日志
25
  	unsigned long log_mem{64 * 1024 * 1024};             //每个日志最大大小
e8beee4d   Hu Chunming   实现jni接口
26
27
  };
  
427201b2   Hu Chunming   完善结果返回
28
29
30
  typedef struct pendant_info
  {
  	sy_rect rect;
10667f7c   Hu Chunming   违法载人判断的优化
31
32
  	int index{-1};		                     //���� 0-driver 1-face 2-belt 3-sunshield 4-tag 5-decoration 6-napkinbox 7-zhuanjt 8-callPhone 9-sunRoof 10-holder 11-smoke
  	float confidence{0.0};	 
427201b2   Hu Chunming   完善结果返回
33
      int driver_copilot_info;               
10667f7c   Hu Chunming   违法载人判断的优化
34
  	int iColor{14};     // "棕", "橙", "灰", "白", "粉", "紫", "红", "绿", "蓝", "银", "青", "黄", "黑", ,"多色", "其他"
427201b2   Hu Chunming   完善结果返回
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
  } pendant_info;
  
  typedef struct VehicleInfo {                   	 
      vd_result vehicle_detect_res;               	 
      vd_result vehicle_win_detect_res;            	
      vd_result vehicle_body_detect_res;           	
      vc_result vehicle_color_res;                 	
      vr_result vehicle_recg_res;                 
      vplate_results vehicle_plate_det_recg_res;   	 
      std::vector<pendant_info> vehicle_pendant_det_res; 
      vid_result vehicle_illegal_det_res;          	
      vf_result vehicle_fea_res;                   	
      
      mta_result mta_res;                           
  
      manned_result manned_res;	 
              
b1547dfc   Hu Chunming   设置初始值,避免异常值影响
52
      int type{-1};
5e69f8fc   Hu Chunming   补充字段;
53
  
b1547dfc   Hu Chunming   设置初始值,避免异常值影响
54
      int vpt_type{0};       // person ;bike 自行车 ; motor 摩托车;tricycle 三轮车;car 汽车; bigbus  大巴;lorry 货车;tractor 拖拉机;midibus  面包/中巴
bb2c60a8   Hu Chunming   修复 vehicle_illega...
55
      int rainshed{-1};		//是否安装雨棚, 0 有雨棚   1 无雨棚
b1547dfc   Hu Chunming   设置初始值,避免异常值影响
56
      float rainshed_prob{0.0};
a1a053f2   Hu Chunming   修正人骑车逻辑错误
57
58
      int truck_manned{0};
      int motor_manned{0};
427201b2   Hu Chunming   完善结果返回
59
  
b1547dfc   Hu Chunming   设置初始值,避免异常值影响
60
61
      int human_upper_color{14};
      int human_lower_color{14};
427201b2   Hu Chunming   完善结果返回
62
  
b1547dfc   Hu Chunming   设置初始值,避免异常值影响
63
64
65
      int reverse_driving{-1};    // 0 正常行驶   1 逆行   -1 未知
      int phoning{0};        // 骑车打电话 1 为是,其他为否
      float phoning_prob{0.0};
81e8a405   Hu Chunming   初步完成SDK
66
  
b1547dfc   Hu Chunming   设置初始值,避免异常值影响
67
68
      int cross_line{-1};         // 压实线  1 黄实线 2 白实线  -1 其他
      int cross_diversion_line{-1};   // 压导流线   1 压了  -1 未压
81e8a405   Hu Chunming   初步完成SDK
69
  
427201b2   Hu Chunming   完善结果返回
70
71
  } VehicleInfo;
  
06e0182f   Hu Chunming   修复src图片alignWidth...
72
  struct LineInfo{
b1547dfc   Hu Chunming   设置初始值,避免异常值影响
73
      int line_type{0};      // {"未知", "黄实线", " 白实线", "白虚线", "黄虚线", "车道中线"};
581a68a4   Hu Chunming   修正parse_road无返回值导...
74
      std::vector<cv::Point> vec_pt;
06e0182f   Hu Chunming   修复src图片alignWidth...
75
76
77
  };
  
  struct SegInfo {
b1547dfc   Hu Chunming   设置初始值,避免异常值影响
78
      int seg_type{0};       // {"未知","行车道/机动车道", "非机动车道", "应急车道", "导流线", "人行横道", "禁停区域", "十字路口区域", "农村道路"};
581a68a4   Hu Chunming   修正parse_road无返回值导...
79
      std::vector<cv::Point> vec_pt;
06e0182f   Hu Chunming   修复src图片alignWidth...
80
81
  };
  
427201b2   Hu Chunming   完善结果返回
82
  typedef struct AnalysisResult {		                 
06e0182f   Hu Chunming   修复src图片alignWidth...
83
84
85
      std::vector<VehicleInfo> info;	             				              
      std::vector<LineInfo> vec_line;
      std::vector<SegInfo> vec_road;
427201b2   Hu Chunming   完善结果返回
86
  } AnalysisResult;   
e8beee4d   Hu Chunming   实现jni接口
87
88
  
  #endif          // __VILLAGE_INC_H__