Newer
Older
CasicIrisIdentify / device / IrisCameraController.h
#ifndef IRISCAMERACONTROLLER_H
#define IRISCAMERACONTROLLER_H

#include <QObject>

#include "AcquisitionThread.h"
#include "utils/UtilInclude.h"

#define ENUMRATE_TIME_OUT       200

class IrisCameraController : public QObject
{
    Q_OBJECT
public:
    explicit IrisCameraController(QObject *parent = nullptr);
    ~IrisCameraController();

    void openIrisCamera();
    void closeIrisCamera();

    void startCapture();
    void stopCapture();

    void SetCameraFrameRate(float rate);

    CAcquisitionThread * m_pobjAcqThread;
    GX_DEV_HANDLE        m_hDevice;                 ///< Device Handle
    uint32_t             m_ui32DeviceNum;           ///< Device number enumerated

    bool                 m_bOpen;                   ///< Flag : camera is opened or not
    bool                 m_bAcquisitionStart;       ///< Flag : camera is acquiring or not

private:
    // 初始化并打开人脸相机
    void initIrisCameraController();
    void SetUpAcquisitionThread();
    void UpdateDeviceList();
    bool SetAcquisitionBufferNum();
    void StartAcquisition();
    void StopAcquisition();

signals:
    void irisCameraInitError();
    void irisCameraTermError();
};

#endif // IRISCAMERACONTROLLER_H