#pragma once #include "IBaseCamParamConfig.h" #include "IBaseCamCommon.h" typedef struct CAMERASERIAL { int mSize = 0; QString mSerial[10]; } CameraSerial; /// 相机接口类 class IBaseCamera { public: IBaseCamera(void) {}; virtual ~IBaseCamera() { }; protected: /// 打开相机 virtual bool openCamera( QString serial ) = 0; /// 关闭相机 virtual bool closeCamera( ) = 0; /// 初始化 virtual bool initialize( ) = 0; public: /// 加载参数 virtual void loadCamParam() = 0; /// 保存参数 virtual void saveCamParam() = 0; /// 设置相机工作模式 virtual bool setWorkMode(IBaseCamCommon::CamWorkMode, bool Running = false) = 0; /// 相机工作模式 virtual IBaseCamCommon::CamWorkMode workMode( ) = 0; /// 相机开始工作 virtual bool startWork() = 0; /// 相机停止工作 virtual bool stopWork() = 0; /// 相机序列号 virtual QString serial() = 0; /// 重启相机 virtual bool restartCamera() = 0; /// 获取一桢图像 virtual bool captureImage( void **buf, int size ) = 0; /// 获取图像宽 virtual int imageWidth( void ) = 0; /// 获取图像高 virtual int imageHeight( void ) = 0; /// 获取图像通道数 virtual int imageChannels( void ) = 0; /// 获取配置参数类 virtual IBaseCamParamConfig* camParamConfig() = 0; /// 显示设置参数窗口页面 virtual void showParamConfigWindow( int mode = 0 ) = 0; /// 获取相机最大分辨率 virtual bool getMaxSize( int &w, int &h ) = 0; /// 设置相机分辨率 virtual bool setResolution( int w, int h ) = 0; ///设置接收图像数据回调函数 virtual void setReceCallBack(IBaseCamCommon::receImgCallBack callBack,long long userParam ) = 0; ///设置接收Log数据回调函数 virtual void setReceLogCallBack(IBaseCamCommon::receLogCallBack callBack, long long userParam) = 0;//设置接收数据回调函数 /// 软件触发采图 virtual void softTriggerCap() = 0; };