sense_camera_adapter.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. #pragma once
  2. #include "sense_camera_global.h"
  3. #include <stdint.h>
  4. #include <string>
  5. #include <vector>
  6. #ifdef USE_OPENCV
  7. #include "opencv2/opencv.hpp"
  8. #endif // USE_OPENCV
  9. #ifdef USE_HALCON
  10. #include <HalconCpp.h>
  11. #endif // USE_HALCON
  12. namespace cv
  13. {
  14. class Mat;
  15. }
  16. namespace HalconCpp
  17. {
  18. class HObject;
  19. }
  20. class SENSE_EXPORT CameraAdapter
  21. {
  22. public:
  23. enum class E_TRIGGER_MODE
  24. {
  25. TRIGGER_MODE_ON = 0,
  26. TRIGGER_MODE_OFF,
  27. };
  28. enum class E_TRIGGER_SOURCE
  29. {
  30. TRIGGER_SOURCE_SOFT = 0,
  31. TRIGGER_SOURCE_LINE0,
  32. TRIGGER_SOURCE_LINE2,
  33. TRIGGER_SOURCE_LINE3,
  34. };
  35. virtual int64_t openCamera(const char* camSN) = 0;
  36. virtual int64_t setInitParameters() = 0;
  37. #ifdef USE_OPENCV
  38. virtual int64_t getOneImage(cv::Mat& img) = 0;
  39. virtual int64_t takeSingleImage(cv::Mat& img) = 0;//软触发并取一次图
  40. #endif
  41. #ifdef USE_HALCON
  42. virtual int64_t getOneImage(HalconCpp::HObject& img) = 0;
  43. virtual int64_t takeSingleImage(HalconCpp::HObject& img) = 0;//软触发并取一次图
  44. #endif // USE_HALCON
  45. virtual int64_t closeCamera() = 0 ;
  46. virtual int64_t reConnectCamera() = 0;
  47. virtual void clearCameraBuf() = 0;
  48. virtual int64_t startGrabbing() = 0;
  49. virtual int64_t stopGrabbing() = 0;
  50. virtual int64_t softTriggerOnce() = 0;//软触发一次
  51. virtual double getExposureTime() = 0; ////获取设备当前曝光时间
  52. virtual void setTriggerMode(E_TRIGGER_MODE mode) = 0; //设置设备曝光时间
  53. virtual void setTriggerSource(E_TRIGGER_SOURCE source) = 0; //设置触发源
  54. enum
  55. {
  56. IMAGESIZE_DEFAULT_WIDTH = 2590,
  57. IMAGESIZE_DEFAULT_HEIGHT = 1944,
  58. };
  59. enum {
  60. SUCCESS = 0,
  61. ACTION_FAILED_UNDO = -100001,
  62. GAMERA_UNKOWN_CONTROLLER = -98000,
  63. GAMERA_FAILED_NODEVICE,
  64. GAMERA_FAILED_ALLOCATE,
  65. GAMERA_FAILED_OVERCONNECT,
  66. GAMERA_FAILED_TOCONNECT,
  67. GAMERA_FAILED_UNCONNECTED,
  68. GAMERA_FAILED_SETEXPOSURE,
  69. GAMERA_FAILED_INACTION,
  70. GAMERA_FAILED_TIMEOUTEXEC,
  71. GAMERA_FAILED_NOIMAGEACC,
  72. GAMERA_FAILED_IMAGEBUFLEN,
  73. GAMERA_FAILED_STDEXCEPTION,
  74. GAMERA_FAILED_UNKNOWNEXCEPTION,
  75. GAMERA_FAILED_GETIMAGE,
  76. ERROR_UNDEFINE
  77. };
  78. };