inprogressFace.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #ifndef CINPROGRESSFACE_H
  2. #define CINPROGRESSFACE_H
  3. #include <QObject>
  4. #include "CHttpBll.h"
  5. #include <opencv2/opencv.hpp>
  6. #include <thread>
  7. #include <mutex>
  8. class CInprogressFace : public QObject
  9. {
  10. Q_OBJECT
  11. signals:
  12. void compareFailed(QString sErrorMsg);
  13. void reAddImage();
  14. public:
  15. CInprogressFace();
  16. ~CInprogressFace();
  17. void startFaceVerify(bool bVerify);
  18. void addImage(cv::Mat matImage);
  19. void addFaceCountImage(cv::Mat matImage);
  20. void uploadFile(cv::Mat faceMat, int nFaceCount, float fScore, int nRealness);
  21. private slots:
  22. void onClientExamProcessUploadSign(CClientExamProcessUploadSign processUpload); //文件上传
  23. void onUploadFileToAliyun(CUploadFileToAliyun uploadFileToAliyun);
  24. void onSaveFaceCaptureResult(CBaseResponsePackage res);//保存人脸抓拍比对验证结果
  25. private:
  26. std::thread m_thread;
  27. bool m_bIsRun;
  28. void threadProc();
  29. void genCameraInfo();
  30. std::mutex m_mImgList;
  31. std::list<cv::Mat> m_vImgList;
  32. std::mutex m_mImgFaceCountList;
  33. std::list<cv::Mat> m_vImgFaceCountList;
  34. bool m_bStart;
  35. __int64 m_nLastFaceCountTime = 0;
  36. QString m_sCameraInfo = "";
  37. bool m_bHasVirtualCamera = false;
  38. };
  39. extern std::shared_ptr<CInprogressFace> g_inProcessFace;
  40. #endif // CINPROGRESSFACE_H