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