#ifndef YOLODETECTSERVERI_H #define YOLODETECTSERVERI_H #define GPU #include "YoloServer.h" #include #include #include #include //#include "DnDetect.h" //#include /*struct DnDetectRes { public: DnDetectRes() : i(3) { } DnDetect::DnDetect *dnDetect; // 序号及线程id std::unordered_map map_pid; // 接受的线程个数 int i; };*/ class YoloDetectServerI : public YoloDetect::YoloDetectServer { public: YoloDetectServerI(); virtual ~YoloDetectServerI(); // FaceDetectServer interface public: virtual ::YoloDetect::ObjInfos YoloDetect(::Ice::Int, ::Ice::Int, const ::std::string &, const ::Ice::Current & = ::Ice::emptyCurrent) override; virtual YoloDetect::stringData getCocoData(const Ice::Current &) override; private: network *m_net; float m_thresh; float m_hier_thresh; float m_nms; char **names; image **alphabet; bool m_bInitThd; std::thread m_thdInit; // std::map map_dnDetRes; // ResourcesManager resourcesManager; private: static int init(void *arg); image matToImg(cv::Mat &RefImg); cv::Mat bufferToMat(const int w, const int h, const int channels, const void *buffer); }; #endif