#ifndef FACERECOGPROCESS_H #define FACERECOGPROCESS_H #include <QObject> #include <QThread> #include "opencv2/opencv.hpp" #include "dao/RecognitionRecordDao.h" #include "CasicFaceRecState.h" #include "casic/ProMemory.h" #include "casic/face/CasicFaceInterface.h" #include "utils/UtilInclude.h" class FaceRecogProcess : public QThread { Q_OBJECT public: explicit FaceRecogProcess(QObject *parent = nullptr); ~FaceRecogProcess(); void setWorking(bool working); void exitThread(); void startThread(); void addOneTryCount(); void addOneNoFaceCount(); protected: //QThread的虚函数 //线程处理函数 //不能直接调用, 通过start()间接调用 void run(); void compareFaceInCollection(); void afterRecogAction(); volatile bool working; volatile bool exit; signals: void matchSuccess(QString personId, int faceOrIris); // 匹配成功 void matchFailure(); // 匹配失败 }; #endif // FACERECOGPROCESS_H