#ifndef REMOTEAR2_MVS_CAMERA_H #define REMOTEAR2_MVS_CAMERA_H #include #include #include class mvs_camera { public: mvs_camera(); ~mvs_camera(); bool open(std::string_view camera_name); void close(); struct capture_config { float exposure_time; float analog_gain; }; bool start_capture(const capture_config *config); void stop_capture(); bool software_trigger(); void retrieve_image(cv::cuda::GpuMat **image_ptr); bool is_opened() const; bool is_capturing() const; private: struct impl; std::unique_ptr pimpl; }; #endif //REMOTEAR2_MVS_CAMERA_H