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