rm_vision/io/camera.hpp
2025-12-15 02:33:20 +08:00

30 lines
547 B
C++

#ifndef IO__CAMERA_HPP
#define IO__CAMERA_HPP
#include <chrono>
#include <memory>
#include <opencv2/opencv.hpp>
#include <string>
namespace io
{
class CameraBase
{
public:
virtual ~CameraBase() = default;
virtual void read(cv::Mat & img, std::chrono::steady_clock::time_point & timestamp) = 0;
};
class Camera
{
public:
Camera(const std::string & config_path);
void read(cv::Mat & img, std::chrono::steady_clock::time_point & timestamp);
private:
std::unique_ptr<CameraBase> camera_;
};
} // namespace io
#endif // IO__CAMERA_HPP