Newer
Older
CasicBioRecNew / device / face / FaceRecogProcess.h
Tan Yue on 7 Jun 2022 1007 bytes 20220607 虹膜识别
#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(QString personId);

    volatile bool working;
    volatile bool exit;

signals:
    void matchSuccess(QString personId, int faceOrIris); // 匹配成功
    void matchFailure(); // 匹配失败

};

#endif // FACERECOGPROCESS_H