#pragma once #include #include #include #include #include #include #include #include /// 相机模块常用变量类型定义 class IBaseCamCommon { public: /// 相机颜色枚举定义 typedef enum GRAY_COLOUR { grayCamera, //黑白相机 colourCamera //彩色相机 } camColour; /// 相机工作模式定义 typedef enum CAMERAWORKMODE { eContinu, //连续采集模式 相机一直工作采图 eHardware,//中断采集模式 相机接收到硬件中断命令采集图像 eSoftware,//中断采集模式 相机接收到软件中断命令采集图像 eSuspendCou //中断后连续采集N张图模式 相机接收到硬件中断或软件中断命令采集N张图像 } CamWorkMode; ///相机图像数据结构体 typedef struct CAMERAIMAGEFOTMAT { void * imgData; //图像数据 int width; //图像宽度 int height; //图像高度 int channels; //图像通道数 int count; //数量 unsigned int nTriggerIndex; // ch:触发计数 | en:Trigger Counting unsigned int nLostPacket; // ch:本帧丢包数 | en:Lost Pacekt Number In This Frame unsigned int nFrameNum; // ch:帧号 | en:Frame Number } CamImgData; /*接收图像数据回调函数格式定义*/ // CamImgData* data, 图像数据 // int frameCount 数据数量 // QString serail 相机序列号 // int snapType 值0 : 软件触发 1: 硬件触发 2 : 未识别的触发模式 // long userParam 用户参数 typedef void (__stdcall* receImgCallBack) ( CamImgData* data, int frameCount, QString serail,long long userParam); /// Log typedef void(__stdcall* receLogCallBack) (QString serial, QString Massage, long long userParam); // typedef struct _tagImgCallBack { receImgCallBack pReceFunction; QString strUserID; long long pUserParam; bool bActivation; _tagImgCallBack() { strUserID.clear(); pUserParam = 0; bActivation = false; } } ImgCallBack; };