IBaseCamCommon.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #pragma once
  2. #include <QString>
  3. #include <QVector>
  4. #include <QDebug>
  5. #include <QEvent>
  6. #include <QMutex>
  7. #include <QWaitCondition>
  8. #include <QThread>
  9. #include <QFileInfo>
  10. /// 相机模块常用变量类型定义
  11. class IBaseCamCommon
  12. {
  13. public:
  14. /// 相机颜色枚举定义
  15. typedef enum GRAY_COLOUR
  16. {
  17. grayCamera, //黑白相机
  18. colourCamera //彩色相机
  19. } camColour;
  20. /// 相机工作模式定义
  21. typedef enum CAMERAWORKMODE
  22. {
  23. eContinu, //连续采集模式 相机一直工作采图
  24. eHardware,//中断采集模式 相机接收到硬件中断命令采集图像
  25. eSoftware,//中断采集模式 相机接收到软件中断命令采集图像
  26. eSuspendCou //中断后连续采集N张图模式 相机接收到硬件中断或软件中断命令采集N张图像
  27. } CamWorkMode;
  28. ///相机图像数据结构体
  29. typedef struct CAMERAIMAGEFOTMAT
  30. {
  31. void * imgData; //图像数据
  32. int width; //图像宽度
  33. int height; //图像高度
  34. int channels; //图像通道数
  35. int count; //数量
  36. unsigned int nTriggerIndex; // ch:触发计数 | en:Trigger Counting
  37. unsigned int nLostPacket; // ch:本帧丢包数 | en:Lost Pacekt Number In This Frame
  38. unsigned int nFrameNum; // ch:帧号 | en:Frame Number
  39. } CamImgData;
  40. /*接收图像数据回调函数格式定义*/
  41. // CamImgData* data, 图像数据
  42. // int frameCount 数据数量
  43. // QString serail 相机序列号
  44. // int snapType 值0 : 软件触发 1: 硬件触发 2 : 未识别的触发模式
  45. // long userParam 用户参数
  46. typedef void (__stdcall* receImgCallBack) ( CamImgData* data, int frameCount, QString serail,long long userParam);
  47. /// Log
  48. typedef void(__stdcall* receLogCallBack) (QString serial, QString Massage, long long userParam);
  49. //
  50. typedef struct _tagImgCallBack
  51. {
  52. receImgCallBack pReceFunction;
  53. QString strUserID;
  54. long long pUserParam;
  55. bool bActivation;
  56. _tagImgCallBack()
  57. {
  58. strUserID.clear();
  59. pUserParam = 0;
  60. bActivation = false;
  61. }
  62. } ImgCallBack;
  63. };