From 9f08028f23d9e5cbfa159bec1e07d63b141a6809 Mon Sep 17 00:00:00 2001 From: zhangjixing <775834166@qq.com> Date: 星期五, 18 一月 2019 10:17:00 +0800 Subject: [PATCH] --- QiaoJiaSystem/YoloServer/YoloDetectServerI.cpp | 40 +++++++++++++++++++++++++++++++++++++++- 1 files changed, 39 insertions(+), 1 deletions(-) diff --git a/QiaoJiaSystem/YoloServer/YoloDetectServerI.cpp b/QiaoJiaSystem/YoloServer/YoloDetectServerI.cpp index cb0e612..33ebe72 100644 --- a/QiaoJiaSystem/YoloServer/YoloDetectServerI.cpp +++ b/QiaoJiaSystem/YoloServer/YoloDetectServerI.cpp @@ -15,8 +15,42 @@ ::YoloDetect::ObjInfos YoloDetectServerI::YoloDetect(::Ice::Int w, ::Ice::Int h, const ::std::string &shM, const ::Ice::Current &) { ClockTimer ct("YoloDetectServerI::YoloDetect"); + +// std::thread::id key = std::this_thread::get_id(); +// DBG("key is " << key); +// DnDetect::DnDetect *t_dnDetect = nullptr; +// for (auto &item : map_dnDetRes) { +// //鏄惁鍙戠幇pid +// bool find_pid = false; +// +// auto &pid_map = item.second.map_pid; +// for (auto &pid_item : pid_map) { +// if (pid_item.second == key) { +//// 鍙戠幇pid锛岃幏鍙栬祫婧愬彞鏌� +// find_pid = true; +// break; +// } +// } +// int map_pid_size = item.second.map_pid.size(); +// if (!find_pid && map_pid_size < item.second.i) { +// //娌″彂鐜板彞鏌勶紝骞朵笖map瀹归噺瓒冲鏀惧叆鏂扮殑pid +// map_pid_size++; +// //#todo lock ? +// item.second.map_pid[map_pid_size] = key; +// find_pid = true; +// } +// //鍙戠幇浜唒id閫�鍑哄惊鐜� +// if (find_pid) { +// t_dnDetect = item.second.dnDetect; +// break; +// } +// } + ::YoloDetect::ObjInfos objInfos; - if (!m_bInitThd) return objInfos; + if (!m_bInitThd /*|| t_dnDetect == nullptr*/) { + ERR("error "); + return objInfos; + } QSharedMemory shareMemory(QString(shM.c_str())); if (shareMemory.attach()) { int channel = 3; @@ -35,6 +69,10 @@ //printf("Predicted in %f seconds.\n", what_time_is_it_now()-attime); int nboxes = 0; detection *dets = get_network_boxes(m_net, im.w, im.h, m_thresh, m_hier_thresh, 0, 1, &nboxes); + if (nboxes > 30) { + DBG("nboxes="<<nboxes); + return objInfos; + } if (m_nms) do_nms_sort(dets, nboxes, l.classes, m_nms); // draw_detections(im, dets, nboxes, m_thresh, names, alphabet, l.classes); for (int i = 0; i < nboxes; i++) { -- Gitblit v1.8.0