Newer
Older
CasicBioRecNew / device / face / FaceRecogProcess.h
Tan Yue on 30 Jun 2022 991 bytes 20220630 可以识别的1.0版本
#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