#ifndef CASICIRISRECSTATE_H #define CASICIRISRECSTATE_H #include <QDateTime> #include <QJsonObject> #include <QJsonArray> #include <QJsonDocument> #include "casic/iris/CasicIrisInfo.h" #include "utils/UtilInclude.h" class CasicIrisRecState : public QObject { public: ~CasicIrisRecState(); CasicIrisRecState(const CasicIrisRecState&)=delete; CasicIrisRecState& operator=(const CasicIrisRecState&)=delete; static CasicIrisRecState& getInstance() { static CasicIrisRecState instance; return instance; } void initRecognize(); QString toString(); QJsonObject toJSON(); QString recoginzeId; // 识别过程id qint64 timeStamp = 0; // 识别开始时间戳 qint64 timeStampSucc = 0; // 识别成功时的时间戳 qint64 findEyeTmLast = 0; // 找眼操作耗时 CasicIrisInfo * irisInfo; qint8 tryCount = 0; // 识别尝试次数 qint8 noEyeCount = 0; // 连续没有找到眼睛次数 float recogTimeLast = 0.0; // 识别成功耗时 /** * @brief state * 0=初始值 * 1=左眼检测 * 2=右眼检测 * 3=质量评估 * 4=特征值提取 * 5=虹膜库比对成功 * 6=虹膜库比对失败 */ volatile int state; enum IrisRecStateName { REC_NOT_START = 0, // 未开始 REC_LEFT_FIND_EYE = 1, // 检测左眼, 没找到右眼 REC_RIGHT_FIND_EYE = 2, // 检测右眼, 没找到左眼 REC_FIND_EYE = 3, // 找到左眼和右眼 REC_FEATURE_EXTRACT = 4, // 特征值提取成功 REC_SEARCH_SUCC = 5, // 虹膜库比对成功 REC_SEARCH_FAIL = 6 // 虹膜库比对失败 }; private: CasicIrisRecState(); }; #endif // CASICIRISRECSTATE_H