From c06ac5deb150c99b53d1ff460a88cf2543698788 Mon Sep 17 00:00:00 2001 From: chenshijun <csj_sky@126.com> Date: 星期一, 15 四月 2019 15:26:51 +0800 Subject: [PATCH] vpt调试基本ok --- QiaoJiaSystem/VptServer/VptDetectWrapper.cpp | 110 +++++++++++++++++++++++++++++------------------------- 1 files changed, 59 insertions(+), 51 deletions(-) diff --git a/QiaoJiaSystem/VptServer/VptDetectWrapper.cpp b/QiaoJiaSystem/VptServer/VptDetectWrapper.cpp index 8b6b353..95ccdc3 100644 --- a/QiaoJiaSystem/VptServer/VptDetectWrapper.cpp +++ b/QiaoJiaSystem/VptServer/VptDetectWrapper.cpp @@ -4,6 +4,7 @@ #include <basic/debug/Debug.h> #include "VptDetectWrapper.h" +#include <basic/timer_counter/Clocktimer.h> VptDetectWrapper::VptDetectWrapper() { init(); @@ -43,6 +44,7 @@ } list<VptDetectResults> VptDetectWrapper::process_image(cv::Mat &_img) { + ClockTimer ct("VptDetectWrapper::process_image"); m_results.clear(); sy_img img; @@ -61,6 +63,7 @@ int colorIndex = result.info[i].obj_index; if (colorIndex < 0 || colorIndex >= 9)continue; + if(colorIndex==4) DBG("detect a car, score =" << result.info[i].obj_score); // sprintf(str_i, "%s:%.2f", type[colorIndex].c_str(), result.info[i].obj_score); // rectangle(process_image, @@ -100,7 +103,7 @@ delete[] result.info; result.info = NULL; } - DBG(m_results.size()); +// DBG(m_results.size()); return m_results; } @@ -146,61 +149,66 @@ auto &carRes = vptDetectResults.vptDetectRes.carDetectRes; // 杞﹂鑹� - carRes.colorLabel = static_cast<ColorLabel>(cur_res->vc_res.res_index); - carRes.colorLabelProb = cur_res->vc_res.res_prob; + if(m_param.vehicle_color_config == SY_CONFIG_OPEN) { + carRes.colorLabel = static_cast<ColorLabel>(cur_res->vc_res.res_index); + carRes.colorLabelProb = cur_res->vc_res.res_prob; + } // 杞﹀瀷璇嗗埆 - if (cur_res->vr_res.vehicle_brand != NULL) { - cout << " 杞﹁締鍝佺墝 - " << cur_res->vr_res.vehicle_brand << endl; - carRes.vehicle_brand = cur_res->vr_res.vehicle_brand; + if(m_param.vehicle_recg_config == SY_CONFIG_OPEN) { + if (cur_res->vr_res.vehicle_brand != NULL) { + cout << " 杞﹁締鍝佺墝 - " << cur_res->vr_res.vehicle_brand << endl; + carRes.vehicle_brand = cur_res->vr_res.vehicle_brand; // carRes.vehicle_brand = string(cur_res->vr_res.vehicle_brand); // carRes.vehicle_brand = "鍙�"; - delete[] cur_res->vr_res.vehicle_brand; - cur_res->vr_res.vehicle_brand = NULL; - } - if (cur_res->vr_res.vehicle_subbrand != NULL) { - cout << " 杞﹁締瀛愬搧鐗� - " << cur_res->vr_res.vehicle_subbrand << endl; - carRes.vehicle_subbrand = cur_res->vr_res.vehicle_subbrand; -// carRes.vehicle_subbrand = cur_res->vr_res.vehicle_subbrand; - delete[] cur_res->vr_res.vehicle_subbrand; - cur_res->vr_res.vehicle_subbrand = NULL; - } - if (cur_res->vr_res.vehicle_issue_year != NULL) { - cout << " 杞﹁締骞存 - " << cur_res->vr_res.vehicle_issue_year << endl; - carRes.vehicle_issue_year = cur_res->vr_res.vehicle_issue_year; - delete[] cur_res->vr_res.vehicle_issue_year; - cur_res->vr_res.vehicle_issue_year = NULL; - } - if (cur_res->vr_res.vehicle_type != NULL) { - cout << " 杞﹁締绫诲瀷 - " << cur_res->vr_res.vehicle_type << endl; - carRes.vehicle_type = cur_res->vr_res.vehicle_type; - delete[] cur_res->vr_res.vehicle_type; - cur_res->vr_res.vehicle_type = NULL; - } - if (cur_res->vr_res.freight_ton != NULL) { - cout << " 璐ц溅鍚ㄧ骇 - " << cur_res->vr_res.freight_ton << endl; - carRes.freight_ton = cur_res->vr_res.freight_ton; - delete[] cur_res->vr_res.freight_ton; - cur_res->vr_res.freight_ton = NULL; - } -// cout << " " << cur_res->vr_res.name_score << endl; - carRes.vehicle_score = cur_res->vr_res.name_score; - - // 杞︾墝 - if (cur_res->vp_res.rect.height_ != 0 && cur_res->vp_res.rect.width_ != 0) { - cout << "杞︾墝浣嶇疆: " << cur_res->vp_res.rect.left_ << " " << cur_res->vp_res.rect.top_ << " " - << cur_res->vp_res.rect.width_ << " " << cur_res->vp_res.rect.height_ << endl; - carRes.carPlateRect.setRect(cur_res->vp_res.rect.left_, cur_res->vp_res.rect.top_, - cur_res->vp_res.rect.width_, cur_res->vp_res.rect.height_); - carRes.carPlateRectScore = cur_res->vp_res.detectScore; - std::string _carPlate; - for (int m = 0; m < 7; m++) { - printf("%s", cur_res->vp_res.recg[m].character); - _carPlate.append(cur_res->vp_res.recg[m].character); + delete[] cur_res->vr_res.vehicle_brand; + cur_res->vr_res.vehicle_brand = NULL; } - carRes.carPlate = const_cast<char *>(_carPlate.c_str()); - carRes.carPlateRectScore = cur_res->vp_res.numScore; - carRes.carPlatetype = cur_res->vp_res.type; + if (cur_res->vr_res.vehicle_subbrand != NULL) { + cout << " 杞﹁締瀛愬搧鐗� - " << cur_res->vr_res.vehicle_subbrand << endl; + carRes.vehicle_subbrand = cur_res->vr_res.vehicle_subbrand; +// carRes.vehicle_subbrand = cur_res->vr_res.vehicle_subbrand; + delete[] cur_res->vr_res.vehicle_subbrand; + cur_res->vr_res.vehicle_subbrand = NULL; + } + if (cur_res->vr_res.vehicle_issue_year != NULL) { + cout << " 杞﹁締骞存 - " << cur_res->vr_res.vehicle_issue_year << endl; + carRes.vehicle_issue_year = cur_res->vr_res.vehicle_issue_year; + delete[] cur_res->vr_res.vehicle_issue_year; + cur_res->vr_res.vehicle_issue_year = NULL; + } + if (cur_res->vr_res.vehicle_type != NULL) { + cout << " 杞﹁締绫诲瀷 - " << cur_res->vr_res.vehicle_type << endl; + carRes.vehicle_type = cur_res->vr_res.vehicle_type; + delete[] cur_res->vr_res.vehicle_type; + cur_res->vr_res.vehicle_type = NULL; + } + if (cur_res->vr_res.freight_ton != NULL) { + cout << " 璐ц溅鍚ㄧ骇 - " << cur_res->vr_res.freight_ton << endl; + carRes.freight_ton = cur_res->vr_res.freight_ton; + delete[] cur_res->vr_res.freight_ton; + cur_res->vr_res.freight_ton = NULL; + } +// cout << " " << cur_res->vr_res.name_score << endl; + carRes.vehicle_score = cur_res->vr_res.name_score; + } + + if(m_param.vehicle_pendant_det_recg_config == SY_CONFIG_OPEN) { + // 杞︾墝 + if (cur_res->vp_res.rect.height_ != 0 && cur_res->vp_res.rect.width_ != 0) { + cout << "杞︾墝浣嶇疆: " << cur_res->vp_res.rect.left_ << " " << cur_res->vp_res.rect.top_ << " " + << cur_res->vp_res.rect.width_ << " " << cur_res->vp_res.rect.height_ << endl; + carRes.carPlateRect.setRect(cur_res->vp_res.rect.left_, cur_res->vp_res.rect.top_, + cur_res->vp_res.rect.width_, cur_res->vp_res.rect.height_); + carRes.carPlateRectScore = cur_res->vp_res.detectScore; + std::string _carPlate; + for (int m = 0; m < 7; m++) { + printf("%s", cur_res->vp_res.recg[m].character); + _carPlate.append(cur_res->vp_res.recg[m].character); + } + carRes.carPlate = const_cast<char *>(_carPlate.c_str()); + carRes.carPlateRectScore = cur_res->vp_res.numScore; + carRes.carPlatetype = cur_res->vp_res.type; // printf(" numScore = %.2f, detectScore = %.2f\n", cur_res->vp_res.numScore, cur_res->vp_res.detectScore); } }; -- Gitblit v1.8.0