From 9180f067df9799bf064cb7b3c182d4d9b21e4b18 Mon Sep 17 00:00:00 2001
From: chenshijun <chenshijun@aiotlink.com>
Date: 星期一, 25 三月 2019 13:40:41 +0800
Subject: [PATCH] 解码指定gpu
---
QiaoJiaSystem/FaceDetectServer/FaceDetectServerI.cpp | 13 +++++++++----
1 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/QiaoJiaSystem/FaceDetectServer/FaceDetectServerI.cpp b/QiaoJiaSystem/FaceDetectServer/FaceDetectServerI.cpp
index 7e2236d..0c42a6d 100644
--- a/QiaoJiaSystem/FaceDetectServer/FaceDetectServerI.cpp
+++ b/QiaoJiaSystem/FaceDetectServer/FaceDetectServerI.cpp
@@ -7,8 +7,8 @@
#include <THFaceProperty_i.h>
FaceDetectServerI::FaceDetectServerI() {
- long threadMax = appPref.getLongData("thread.max");
- long gpuIndex = appPref.getLongData("gpu.index");
+ long threadMax = appPref.getIntData("thread.max");
+ long gpuIndex = appPref.getIntData("gpu.index");
for (int i = 0; i < threadMax; i++) {
detectResourcesManager.pushResource(i);
}
@@ -32,6 +32,8 @@
delete[] param;
}
THFP_Create(threadMax);
+ m_ampleSize =
+ appPref.getIntData("FaceDetectionSampleSize") > 0 ? appPref.getIntData("FaceDetectionSampleSize") : 640;
}
FaceDetectServerI::~FaceDetectServerI() {
@@ -42,13 +44,14 @@
FaceDetect::Faces FaceDetectServerI::faceDetect(Ice::Int width, Ice::Int height, const std::string &shareMemoryName,
const Ice::Current &) {
ClockTimer ct("FaceDetectServerI::faceDetect");
+ INFO("Face Detect");
FaceDetect::Faces faces;
QSharedMemory shareMemory(QString(shareMemoryName.c_str()));
if (shareMemory.attach()) {
auto data = shareMemory.constData();
THFI_FacePos facesPos[30];
int channel = detectResourcesManager.getAvilableChannel(shareMemoryName);
- int faceNum = THFI_DetectFace(channel, (BYTE *) data, 24, width, height, facesPos, 30);
+ int faceNum = THFI_DetectFace(channel, (BYTE *) data, 24, width, height, facesPos, 30, m_ampleSize);
if (faceNum > 0) {
for (int i = 0; i < faceNum; i++) {
FaceDetect::FacePos face;
@@ -70,6 +73,7 @@
FaceDetect::ThftResult FaceDetectServerI::faceProperty(Ice::Int width, Ice::Int height, const FaceDetect::FacePos &pos,
const std::string &shareMemoryName, const Ice::Current &) {
+ INFO("faceProperty");
QSharedMemory shareMemory(QString(shareMemoryName.c_str()));
if (shareMemory.attach()) {
FaceDetect::ThftResult thftResult;
@@ -86,6 +90,7 @@
}
return thftResult;
} else {
- throw std::runtime_error("shareMemory attach faild");
+ ERR("shareMemory error " << shareMemoryName);
+// throw std::runtime_error("shareMemory attach faild");
}
}
--
Gitblit v1.8.0