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