mvs_camera.h 705 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #ifndef REMOTEAR2_MVS_CAMERA_H
  2. #define REMOTEAR2_MVS_CAMERA_H
  3. #include <opencv2/core/cuda.hpp>
  4. #include <atomic>
  5. #include <memory>
  6. #include <string_view>
  7. class mvs_camera {
  8. public:
  9. mvs_camera();
  10. ~mvs_camera();
  11. bool open(std::string_view camera_name);
  12. void close();
  13. struct capture_config {
  14. float exposure_time;
  15. float analog_gain;
  16. };
  17. bool start_capture(const capture_config *config);
  18. void stop_capture();
  19. bool software_trigger();
  20. void retrieve_image(cv::cuda::GpuMat **image_ptr);
  21. bool is_opened() const;
  22. bool is_capturing() const;
  23. private:
  24. struct impl;
  25. std::unique_ptr<impl> pimpl;
  26. };
  27. #endif //REMOTEAR2_MVS_CAMERA_H