1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #pragma once
- #include "MvCamera.h"
- #include "CCameraBase.h"
- #ifdef HIKVISION_CAMERA_EXPORTS
- #define HIKVISION_CAMERA_DLL_API __declspec(dllexport)
- #else
- #define HIKVISION_CAMERA_DLL_API //__declspec(dllimport)
- #endif
- class HIKVISION_CAMERA_DLL_API CHIKVisionCamera :
- public CCameraBase
- {
- public:
- CHIKVisionCamera(int id,string sDescribe, bool bEnable);
- ~CHIKVisionCamera();
- virtual long Open() override;
- virtual void Close() override;
- virtual long VideoStart() override;
- virtual long VideoStop() override;
- virtual long GrabImage(ImageInfo& image) override;
- virtual long SetExposure(double exposure) override;
- virtual double GetExposure() override;
- virtual long SetGain(double gain) override;
- virtual double GetGain() override;
- private:
- static CHAR strErrorText[256];
- static CHAR* GetErrText(INT nErrorNum);
- static bool m_bFindDevList;
- static MV_CC_DEVICE_INFO_LIST* m_stDevList;
- bool m_bOpenDevice; // ch:是否打开设备 | en:Whether to open device
- VOID* m_hGrabThread = NULL; // ch:取流线程句柄 | en:Grab thread handle
- bool m_bThreadState;
- MV_CC_DEVICE_INFO* m_pDeviceInfo;
- CMvCamera m_stMvCamera;
- UCHAR* GetDeviceUserDefinedName(MV_CC_DEVICE_INFO* pDeviceInfo);
-
- private:
- CRITICAL_SECTION m_hSaveImageMux;
- UINT m_nSaveImageBufSize;
- bool m_bGrabImageDone;
- UCHAR* m_pSaveImageBuf = nullptr; //图像缓存
- bool m_bStartVedioBing = false; // ch:是否开始抓图 | en:Whether to start grabbing
- public:
- LONG SaveImageBuf(unsigned char* pData, MV_FRAME_OUT_INFO_EX* stImageInfo);
- long ImageToViewThreadProcess();
- };
|