sense_mvs_camera_imp.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #pragma once
  2. #include "sense_camera_adapter.h"
  3. #include "mv_camera.h"
  4. #include <atomic>
  5. //大恒相机
  6. class CameraHaiKangImp : public CameraAdapter
  7. {
  8. public:
  9. CameraHaiKangImp();
  10. ~CameraHaiKangImp();
  11. int64_t enumDevicesSN(std::vector<std::string>& sn);
  12. virtual int64_t setInitParameters();
  13. virtual int64_t openCamera(const char* strDeviceSN);
  14. #ifdef USE_OPENCV
  15. virtual int64_t getOneImage(cv::Mat& img);
  16. virtual int64_t takeSingleImage(cv::Mat& img);
  17. #endif // USE_OPENCV
  18. #ifdef USE_HALCON
  19. virtual int64_t getOneImage(HalconCpp::HObject& img);
  20. virtual int64_t takeSingleImage(HalconCpp::HObject& img);//软触发并取一次图
  21. #endif // USE_HALCON
  22. virtual int64_t softTriggerOnce(); //软触发一次
  23. virtual int64_t closeCamera();
  24. virtual int64_t reConnectCamera();
  25. virtual void clearCameraBuf();
  26. virtual int64_t startGrabbing();
  27. virtual int64_t stopGrabbing();
  28. virtual void setTriggerMode(E_TRIGGER_MODE mode);
  29. virtual void setTriggerSource(E_TRIGGER_SOURCE source);
  30. virtual double getExposureTime();
  31. private:
  32. std::atomic_bool bIsDeviceOpen = false; ///< 设备是否已打开标识
  33. std::atomic_bool m_bIsColor = false; ///< 是否支持彩色
  34. std::atomic_bool m_bStartGrabbing = false; ///< 设备采集标识
  35. std::string m_mSNstr = ""; ///< 相机SN
  36. CMvCamera m_pcMyCamera; // ch:CMyCamera封装了常用接口 | en:CMyCamera packed commonly used interface
  37. };