From ecb47d89dcb2b1d8e4be9b6cb0a84d8b49e2e3cc Mon Sep 17 00:00:00 2001 From: pansen <pansen626@sina.com> Date: 星期三, 10 四月 2019 12:20:00 +0800 Subject: [PATCH] 添加iceServer --- QiaoJiaSystem/VptServer/VptDetectWrapper.cpp | 56 +++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 37 insertions(+), 19 deletions(-) diff --git a/QiaoJiaSystem/VptServer/VptDetectWrapper.cpp b/QiaoJiaSystem/VptServer/VptDetectWrapper.cpp index 98fbfcb..924e8bd 100644 --- a/QiaoJiaSystem/VptServer/VptDetectWrapper.cpp +++ b/QiaoJiaSystem/VptServer/VptDetectWrapper.cpp @@ -31,7 +31,7 @@ vpt_pic_init(&m_handle, m_param); } -void VptDetectWrapper::process_image(cv::Mat &_img) { +list<VptDetectResults> VptDetectWrapper::process_image(cv::Mat &_img) { m_results.clear(); sy_img img; @@ -70,12 +70,24 @@ result.info[i].obj_rect.width_, result.info[i].obj_rect.height_); } else {} } + //release source + if (result.info != NULL) { + for (int i = 0; i < MAX_DET_COUNT; i++) { + if (result.info[i].analysis_res != NULL) { + delete result.info[i].analysis_res; + result.info[i].analysis_res = NULL; + } + } + delete[] result.info; + result.info = NULL; + } DBG(m_results.size()); + return m_results; } VptDetectResults VptDetectWrapper::changeAnalysisRes(int index, void *result) { - VptDetectResults vptDetectResults; + VptDetectResults vptDetectResults(index); vptDetectResults.sdkDetectType = static_cast<SDKDetectType>(index); // vptDetectResults.vptDetectRes.carDetectRes; switch (vptDetectResults.sdkDetectType) { @@ -87,7 +99,7 @@ for (int i = 0; i < HP_FIR_INDEX_SIZE; i++) { int resIndex = vptDetectResults.vptDetectRes.personDetectRes.res_objs[i].res_index; cout << vptDetectResults.vptDetectRes.personDetectRes.res_objs[i].res_prob << " "; - cout << HpResStr[i][resIndex] << " " << endl; + cout << HpResStr[i][resIndex] << " "; } //test code end }; @@ -97,12 +109,14 @@ hcp_res *cur_res = (hcp_res *) result; memcpy(vptDetectResults.vptDetectRes.perRideCarDetectRes.res_objs, cur_res->res_objs, sizeof(classfy_boj_res) * HCP_FIR_INDEX_SIZE); + //test code for (int i = 0; i < HCP_FIR_INDEX_SIZE; i++) { int resIndex = vptDetectResults.vptDetectRes.perRideCarDetectRes.res_objs[i].res_index; cout << vptDetectResults.vptDetectRes.perRideCarDetectRes.res_objs[i].res_prob << " "; - cout << HpResStr[i][resIndex] << " " << endl; + cout << HpResStr[i][resIndex] << " "; } cout << endl << endl; + //test code }; break; case SDKDetectType::car : @@ -118,32 +132,35 @@ // 杞﹀瀷璇嗗埆 if (cur_res->vr_res.vehicle_brand != NULL) { -// cout << " 杞﹁締鍝佺墝 - " << cur_res->vr_res.vehicle_brand << endl; - carRes.vehicle_brand = std::move(string(cur_res->vr_res.vehicle_brand)); + 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 = std::move(string(cur_res->vr_res.vehicle_subbrand)); + 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 = std::move(string(cur_res->vr_res.vehicle_issue_year)); + 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 = std::move(string(cur_res->vr_res.vehicle_type)); + 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 = std::move(string(cur_res->vr_res.freight_ton)); + 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; } @@ -152,16 +169,17 @@ // 杞︾墝 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; + 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); - carRes.carPlate.append(cur_res->vp_res.recg[m].character); + 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