#ifndef REMOTEAR3_MVS_CAMERA_H #define REMOTEAR3_MVS_CAMERA_H #include #include namespace mvs { enum pixel_type { RG_8 }; struct create_config { std::string_view name; pixel_type pixel; int image_out_index; }; struct capture_config { int frame_rate; // frame per second float expo_time_ms; float gain_db; }; class camera { public: ~camera(); bool set_capture_config(const capture_config &conf); bool start_capture(); bool stop_capture(); bool is_capture() const; static camera *create(const create_config &conf); private: struct impl; std::unique_ptr pimpl; }; } #endif //REMOTEAR3_MVS_CAMERA_H