//
|
// Created by basic on 19-8-17.
|
//
|
|
#ifndef FACEDETECT_COMMON_H
|
#define FACEDETECT_COMMON_H
|
|
#include <cstdio>
|
#include <cstring>
|
#include <stdlib.h>
|
#include <mutex>
|
#include <queue>
|
#include <map>
|
|
#include "THFaceTracking_i.h"
|
#include "THFeature_i.h"
|
|
#define MAX_IMAGE_SIZE (1920 * 1080 * 3)
|
//#define MAX_IMAGE_SIZE (640 * 360 * 3)
|
#define MAX_FACE_NUM 3
|
#define MAX_ANGLE 30
|
#define MIN_WIDTH 50
|
#define MIN_CONFIDENCE 80
|
#define MAX_THREAD 2
|
#define MAX_CHANNEL 2
|
#define MAX_IMG2EXT 5
|
#define MAX_FEAT2COMP 5
|
#define FEATURE_SIZE 2560
|
|
struct FeatureWithID {
|
long faceID;
|
BYTE *feature;
|
};
|
|
struct ImgToExtract {
|
int nWidth;
|
int nHeight;
|
BYTE *imgData;
|
std::vector<THFT_FaceInfo *> vFaces;
|
};
|
|
struct compareResults {
|
std::string featureID;
|
float compareScore;
|
};
|
extern std::queue<ImgToExtract *> qImg2Extr;
|
extern std::mutex mtxImg2Extract;
|
|
extern std::queue<FeatureWithID *> qFeature2Comp;
|
extern std::mutex mtxFeature2Comp;
|
|
extern std::map<std::string, BYTE*> mFaceRec;
|
extern std::map<long, std::string> mIDName;
|
|
|
struct ImgToShow {
|
int nWidth;
|
int nHeight;
|
BYTE *imgData;
|
};
|
extern std::mutex mtxFrameShow;
|
//extern std::queue<ImgToShow> qFrameShow;
|
|
void pushQImg2Extr(ImgToExtract *imgToExtract);
|
|
//ImgToExtract *popQImg2Extr();
|
|
double msecond(void);
|
|
void yuv420p_to_rgb24_c(unsigned char *yuvbuffer, unsigned char *rgbbuffer, int width, int height);
|
|
#endif //FACEDETECT_COMMON_H
|