#include "sy_errorinfo.h" #include "cnn_cls.h" #include "dvpp_processx.h" #include #include #include "stream_data.h" #include #include using namespace atlas_utils; using namespace std; typedef struct head_tail_param { int devId; //ָ指定显卡id int max_batch; std::string sdk_root; head_tail_param() :devId(0), max_batch(8){}; } head_tail_param; struct HeadTailResult { int cls; // {'车尾': 0, '车侧': 1, '车头': 2} float confidence; }; class VehicleHeadTail { public: VehicleHeadTail(/* args */); ~VehicleHeadTail(); int init(head_tail_param param); int detect(vector, vector&); private: int release(); private: aclrtContext m_ctx; aclrtStream stream; CnnCls* m_cnn_cls; DvppProcessx* m_dvpp; int max_batch; };