|
|
|
|
|
#ifndef CAMERA_H
|
|
|
|
|
|
#define CAMERA_H
|
|
|
|
|
|
|
|
|
|
|
|
#include "lpbengine.h"
|
|
|
|
|
|
#include "iCoreCtrl.h"
|
|
|
|
|
|
|
|
|
|
|
|
class CDetectorCameraDevice : public IDetectorCameraDevice
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CDetectorCameraDevice();
|
|
|
|
|
|
virtual ~CDetectorCameraDevice();
|
|
|
|
|
|
bool Initialize(IDetectorEngineSink* lpSink);
|
|
|
|
|
|
|
|
|
|
|
|
virtual bool SetID(int nID);
|
|
|
|
|
|
virtual int GetID();
|
|
|
|
|
|
virtual bool SetType(DeviceType type);
|
|
|
|
|
|
virtual DeviceType GetType();
|
|
|
|
|
|
virtual bool SetName(QString strName);
|
|
|
|
|
|
virtual QString GetName();
|
|
|
|
|
|
virtual bool SetDescription(QString strDescription);
|
|
|
|
|
|
virtual QString GetDescription();
|
|
|
|
|
|
|
|
|
|
|
|
virtual void Release();
|
|
|
|
|
|
bool SerializeToJson(QJsonDocument* pJsonDocument, QJsonArray* pDeviceArray);
|
|
|
|
|
|
bool SerializeFromJson(QJsonObject* pJsonObject);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void AddParam(const QString &key, const QVariant &value);
|
|
|
|
|
|
virtual bool DeleteParam(const QString &key);
|
|
|
|
|
|
virtual QMap<QString, QVariant> GetParamMap();
|
|
|
|
|
|
|
|
|
|
|
|
bool RegisterCoreCtrl(class ICoreCtrl* pCoreCtrl);
|
|
|
|
|
|
|
|
|
|
|
|
virtual void SnapImage(void* callBackOwner, NewImageHandler pFunc);
|
|
|
|
|
|
virtual void RegisterImageHandler(void* callBackOwner, NewImageHandler pFunc);
|
|
|
|
|
|
virtual void UnRegisterImageHandler();
|
|
|
|
|
|
virtual bool HandleNewImage(cv::Mat& img, int nDeviceID);
|
|
|
|
|
|
|
|
|
|
|
|
virtual bool OpenDevice();
|
|
|
|
|
|
virtual bool CloseDevice();
|
|
|
|
|
|
virtual bool StartDevice();
|
|
|
|
|
|
virtual bool StopDevice();
|
|
|
|
|
|
private:
|
|
|
|
|
|
int m_nID;
|
|
|
|
|
|
QString m_strName;
|
|
|
|
|
|
QString m_strDescription;
|
|
|
|
|
|
DeviceType m_type;
|
|
|
|
|
|
|
|
|
|
|
|
IDetectorEngineSink* m_pSink;
|
|
|
|
|
|
QMap<QString, QVariant> m_mapParam;
|
|
|
|
|
|
|
|
|
|
|
|
ICoreCtrl* m_pCoreCtrl;
|
|
|
|
|
|
NewImageHandler m_pFunc;
|
|
|
|
|
|
void* m_callBackOwner;
|
|
|
|
|
|
|
|
|
|
|
|
QMutex m_mutexLocker;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#endif // CAMERA_H
|