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