From a2dee087defb9e36165bedb5e4b895704d624e6f Mon Sep 17 00:00:00 2001
From: chenshijun <csj_sky@126.com>
Date: 星期一, 08 四月 2019 16:59:52 +0800
Subject: [PATCH] 修改人脸检测的打印

---
 QiaoJiaSystem/FaceDetectServer/main_detect.cpp        |    3 ++-
 QiaoJiaSystem/FaceDetectServer/FaceExtractServerI.cpp |   19 +++++++++++++++++++
 QiaoJiaSystem/FaceDetectServer/main_extract.cpp       |    7 ++++++-
 QiaoJiaSystem/StructureApp/FaceExtractElement.cpp     |    8 ++++++--
 4 files changed, 33 insertions(+), 4 deletions(-)

diff --git a/QiaoJiaSystem/FaceDetectServer/FaceExtractServerI.cpp b/QiaoJiaSystem/FaceDetectServer/FaceExtractServerI.cpp
index 0485c6a..0e897b6 100644
--- a/QiaoJiaSystem/FaceDetectServer/FaceExtractServerI.cpp
+++ b/QiaoJiaSystem/FaceDetectServer/FaceExtractServerI.cpp
@@ -4,6 +4,7 @@
 #include <QtCore/QSharedMemory>
 #include <basic/timer_counter/Clocktimer.h>
 #include <THFeature_i.h>
+//#include <basic/util/opencv/CvUtil.h>
 
 FaceExtractServerI::FaceExtractServerI() {
     long threadMax = appPref.getIntData("thread.max");
@@ -41,6 +42,23 @@
         memcpy(&facesPos, &pos, sizeof(facesPos) - sizeof(facesPos.pFacialData));
         memcpy(facesPos.pFacialData, pos.pFacialData.data(), sizeof(facesPos.pFacialData));
         feature.resize(EF_Size());
+//        INFO("faceExtract channel:" << channel << " width:" << width << " height:"  << height);
+
+//        {
+//            //#todo
+//            std::string string1(AppUtil::getTimeString() +".jpg");
+//            DBG("save Image fe:" << string1);
+//            cv::Mat image(height, width, CV_8UC3, (u_char *)data);
+//            cv::imwrite(string1, image);
+//
+//            cv::Rect area(facesPos.rcFace.left, facesPos.rcFace.top, \
+//            facesPos.rcFace.right - facesPos.rcFace.left, facesPos.rcFace.bottom-facesPos.rcFace.top);
+//            cv::Mat img_region = image(area);
+//            std::string string2("face_" + string1);
+//            cv::imwrite(string2, img_region);
+//        }
+        INFO("facesPos:nQuality:"  << facesPos.nQuality << "; rect[left:" << facesPos.rcFace.left << " top:" << \
+        facesPos.rcFace.top << " right:" << facesPos.rcFace.right << " bottom:" << facesPos.rcFace.bottom << "]");
         int ret = EF_Extract(channel, (BYTE *) data, width, height, 3, &facesPos, feature.data());
         if (ret != 1) {
             ERR("THFP_Execute_V2 faild, returns " << ret)
@@ -50,5 +68,6 @@
         ERR("shareMemory attach faild");
 //        throw std::runtime_error("shareMemory attach faild");
     }
+    return feature;
 
 }
diff --git a/QiaoJiaSystem/FaceDetectServer/main_detect.cpp b/QiaoJiaSystem/FaceDetectServer/main_detect.cpp
index bf9f733..7fdaea5 100644
--- a/QiaoJiaSystem/FaceDetectServer/main_detect.cpp
+++ b/QiaoJiaSystem/FaceDetectServer/main_detect.cpp
@@ -57,7 +57,8 @@
     IceRpcServer<FaceDetectServerI> server("faceServer", appPref.getIntData("RpcFDPort"), "tcp");
     server.setMessageSizeMax(1024 * 1024 * 50);
     server.setPoolInitSize(appPref.getIntData("thread.max"));
-    server.setPoolMaxSize(appPref.getIntData("thread.max"));
+    DBG("MaxPoolSize: " << std::max(appPref.getIntData("thread.max")*2, 32));
+    server.setPoolMaxSize(std::max(appPref.getIntData("thread.max")*2, 32));
     server.runWaitShutDown();
     return 0;
 }
diff --git a/QiaoJiaSystem/FaceDetectServer/main_extract.cpp b/QiaoJiaSystem/FaceDetectServer/main_extract.cpp
index 712f421..4d83c16 100644
--- a/QiaoJiaSystem/FaceDetectServer/main_extract.cpp
+++ b/QiaoJiaSystem/FaceDetectServer/main_extract.cpp
@@ -51,6 +51,10 @@
     if (argc < 4) {
         assert("t_value.size()");
     }
+//    appPref.setIntData("gpu.index", 0);
+//    appPref.setIntData("RpcFEPort", 10021);
+//    appPref.setIntData("thread.max", 1);//绾跨▼姹犲ぇ灏�
+
     appPref.setIntData("gpu.index", atoi(argv[1]));
     appPref.setIntData("RpcFEPort", atoi(argv[2]));
     appPref.setIntData("thread.max", atoi(argv[3]));//绾跨▼姹犲ぇ灏�
@@ -58,7 +62,8 @@
     IceRpcServer<FaceExtractServerI> server("faceExtractServer", appPref.getIntData("RpcFEPort"), "tcp");
     server.setMessageSizeMax(1024 * 1024 * 50);
     server.setPoolInitSize(appPref.getIntData("thread.max"));
-    server.setPoolMaxSize(appPref.getIntData("thread.max"));
+    DBG("MaxPoolSize: " << std::max(appPref.getIntData("thread.max")*2, 32));
+    server.setPoolMaxSize(std::max(appPref.getIntData("thread.max")*2, 32));
     server.runWaitShutDown();
     return 0;
 }
diff --git a/QiaoJiaSystem/StructureApp/FaceExtractElement.cpp b/QiaoJiaSystem/StructureApp/FaceExtractElement.cpp
index 2cc1dd3..f319a62 100644
--- a/QiaoJiaSystem/StructureApp/FaceExtractElement.cpp
+++ b/QiaoJiaSystem/StructureApp/FaceExtractElement.cpp
@@ -108,15 +108,19 @@
 
             unsigned long size = faceExtractQueueTmp[i].facesPos.size();
             for (int j = 0; j < size; j++) {
-                auto feature = extractServer->faceExtract(image.cols, image.rows, faceExtractQueueTmp[i].facesPos[j],
-                                                          sharedMemory->key().toStdString());
 //                {
 //                    //#todo
 //                    string string1(
 //                        AppUtil::getTimeString() + "-ff3" + faceExtractQueueTmp[i].scoredRects[j].properties["time"] +
 //                        ".jpg");
+//                    DBG("save Image:" << string1);
 //                    cv::imwrite(string1, image);
 //                }
+
+                auto feature = extractServer->faceExtract(image.cols, image.rows, faceExtractQueueTmp[i].facesPos[j],
+                                                          sharedMemory->key().toStdString());
+
+
                 if (feature.empty()) {
                     INFO("No Face Find: " << getProperty("imgKey"));
                     continue;

--
Gitblit v1.8.0