HumanCarAnalysis.h
2.19 KB
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
58
#ifndef __HUMAN_CAR_ANALYSIS_H__
#define __HUMAN_CAR_ANALYSIS_H__
#include "include.h"
struct HumanCarResult {
int head; // 0 – (长发) , 1 - (短发) , 2 - (光头) , 3 -( 帽子), 4- (头盔), 5– (其他)
float head_prob;
int eye; // 0 – (未戴眼镜) , 1 - (戴眼镜)
float eye_prob;
int mouth; // 0 – (未戴口罩) , 1 - (戴口罩)
float mouth_prob;
int weibo; // 0 – (未戴围巾) , 1 - (戴围巾)
float weibo_prob;
int up_wear; // 0 – (T恤/背心) , 1 - (衬衫) , 2 - (毛衣) , 3 - (羽绒服) , 4 – (大衣/风衣) , 5 – (外套/夹克/西服) , 6 - (连衣裙) , 7 - (无上衣) , 8 – (其他)
float up_wear_prob;
int up_color{14}; // 0 – (黑) , 1 - (白) , 2 - (红) , 3 - (黄) , 4 – (蓝) , 5 – (绿) , 6 – (灰) , 7 – (多色) , 8 – (其他)
float up_color_prob{0.0};
int up_tex; // 0 – (纯色) , 1 - (碎花) , 2 - (条纹) , 3 - (格子) , 4 – (其他)
float up_tex_prob;
int bag; // 0 – (无包) , 1 - (背包)
float bag_prob;
int sex; // 0 – (男) , 1 - (女) , 2 - (其他)
float sex_prob;
int age; // 0 – (小孩) , 1 - (青年) , 2 - (中年) , 3 - (老年) , 4 – (其他)
float age_prob;
int carColor; // 0 – (黑) , 1 - (白) , 2 - (红) , 3 - (黄) , 4 – (蓝) , 5 – (绿) , 6 – (灰/银) , 7 – (多色) , 8 – (其他)
float carColor_prob;
int orient{0}; // 0 – (正面) , 1 - (背面) , 2 - (侧面)
float orient_prob{0.0};
int dasan; // 0 – (无) , 1 - (有)
float dasan_prob;
int take; // 0 – (无) , 1 - (有)
float take_prob;
};
class HumanCarAnalysis
{
public:
HumanCarAnalysis(/* args */);
~HumanCarAnalysis();
int init(int devId, std::string sdk_root);
std::vector<HumanCarResult> detect(vector<sy_img> vec_img);
private:
int release();
private:
void* m_handle{nullptr};
aclrtContext ctx{nullptr};
};
#endif // __HUMAN_CAR_ANALYSIS_H__