//
|
// Created by pans on 4/27/18.
|
//
|
|
#ifndef VIDEOSTRUCTURE_CASIAFACEWRAPPER_H
|
#define VIDEOSTRUCTURE_CASIAFACEWRAPPER_H
|
|
#include <THFaceImage_i.h>
|
#include <THFaceProperty_i.h>
|
#include <THFeature_i.h>
|
|
#include <basic/util/resource/ResourcesManager.h>
|
#include <libs/opencv/include/opencv2/core/mat.hpp>
|
#include <atomic>
|
|
#include "FaceData.hpp"
|
|
class CasiaFaceWrapperN {
|
public:
|
CasiaFaceWrapperN();
|
|
virtual ~CasiaFaceWrapperN();
|
|
float compareFeature(Feature &feature1,Feature &feature2);
|
|
//todo extractFace
|
Features extractFace(FaceImageN img);
|
// Features extractFace(FaceImageN &img, THFI_FacePos& facePos,int faceNum);
|
|
//todo detectFace
|
|
public:
|
|
private:
|
|
private:
|
ResourcesManager<int> resourcesManager;
|
long threadMax;
|
int nGPUDeviceID=0;
|
short channel;
|
static std::atomic_int instanceCount;
|
// static std::vector<int> gpuIndexs;
|
// static int channelMax;
|
|
};
|
|
|
#endif //VIDEOSTRUCTURE_CASIAFACEWRAPPER_H
|