#ifndef CASICFACERECSTATE_H #define CASICFACERECSTATE_H #include <QObject> #include <QDateTime> #include <QJsonObject> #include <QJsonArray> #include <QJsonDocument> #include "casic/face/CasicFaceInfo.h" #include "utils/UtilInclude.h" class CasicFaceRecState : public QObject { public: ~CasicFaceRecState() {}; CasicFaceRecState(const CasicFaceRecState&)=delete; CasicFaceRecState& operator=(const CasicFaceRecState&)=delete; static CasicFaceRecState& getInstance() { static CasicFaceRecState instance; return instance; } void initRecognize(); QString toString(); QJsonObject toJSON(); std::string recoginzeId; // 识别过程id qint64 timeStamp = 0; // 识别开始时间戳 qint64 timeStampSucc = 0; // 识别成功时的时间戳 CasicFaceInfo * faceInfo; // 人脸信息 QString imgBase64; // 人脸的base64码数据, 用于存库 qint8 tryCount = 0; // 识别尝试次数 qint8 noFaceCount = 0; // 连续没有找到人脸次数 float recogTimeLast = 0.0; // 识别成功耗时 int state; // 识别状态 enum FaceRecStateName { REC_NOT_START = 0, // 未开始 REC_DETECT = 1, // 找到人脸 REC_ANTI_SPOOFING = 2, // 活体检测结束 REC_QUALIFY = 3, // 质量检测结束 REC_FEATURE_EXTRACT = 4, // 特征值提取成功 REC_SEARCH_SUCC = 5, // 人脸库比对成功 REC_SEARCH_FAIL = 6 // 人脸库比对失败 }; private: CasicFaceRecState(); signals: }; #endif // CASICFACERECSTATE_H