派生自 development/c++

xuxiuxi
2019-03-08 5bf0020b189b2bc8c64737c2af4ea77c3e8f5612
QiaoJiaSystem/YoloServer/YoloDetectServerI.h
@@ -1,20 +1,40 @@
#ifndef YOLODETECTSERVERI_H
#define YOLODETECTSERVERI_H
#define GPU
#include "YoloServer.h"
#include <thread>
#include <darknet.h>
#include <opencv2/opencv.hpp>
#include <basic/util/resource/ResourcesManager.h>
class YoloDetectServerI : public YoloDetect::YoloDetectServer
{
//#include "DnDetect.h"
//#include <atomic>
/*struct DnDetectRes {
public:
    DnDetectRes() : i(3) {
    }
    DnDetect::DnDetect *dnDetect;
//    序号及线程id
    std::unordered_map<int, std::thread::id> 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::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;
@@ -25,13 +45,17 @@
    bool m_bInitThd;
    std::thread m_thdInit;
  //  ResourcesManager<int> resourcesManager;
//    std::map<int, DnDetectRes> map_dnDetRes;
    //  ResourcesManager<int> 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);
    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);
};