#ifndef FACERECONITIONHANDLE_H
#define FACERECONITIONHANDLE_H
#include "hyperface.h"

#include "herror.h"
#include "LogHandle.h"
#include "VidesData.h"
#include <opencv2/opencv.hpp>
#include <QReadWriteLock>
#include<QCoreApplication>


class FaceReconitionHandle
{
private:
    HContextHandle ctxHandle=nullptr;

    float configConfidence;

    std::vector<int32_t>customIds;

    QReadWriteLock rwLock;
public:
    FaceReconitionHandle();
    ~FaceReconitionHandle();

    cv::Mat loadImage(const QString &path);
    cv::Mat loadImageFromByteStream(const QString& filePath);



    void doesItExistEmployee(const cv::Mat &source,std::list<vides_data::faceRecognitionResult>&face);

    void initSourceImageMap(std::map<QString,QString>&maps,int numberFaces,float confidence);

    void featureRemove();

};
#endif // FACERECONITIONHANDLE_H
