#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 detect(vector vec_img); private: int release(); private: void* m_handle{nullptr}; aclrtContext ctx{nullptr}; }; #endif // __HUMAN_CAR_ANALYSIS_H__