5#include "reusex/vision/IData.hpp"
7#include <opencv2/core/mat.hpp>
43 using Pair = std::pair<std::unique_ptr<IData>,
size_t>;
63 explicit IDataset(std::filesystem::path dbPath);
90 virtual Pair get(
const std::size_t index)
const = 0;
105 virtual bool save(
const std::span<Pair> &data) = 0;
119 cv::Mat
image(
const std::size_t index)
const;
149 std::shared_ptr<ProjectDB> db_;
155 std::vector<int> ids_;
IDataset(std::filesystem::path dbPath)
virtual ~IDataset()=default
virtual Pair get(const std::size_t index) const =0
virtual bool save(const std::span< Pair > &data)=0
IDataset(std::shared_ptr< ProjectDB > database)
std::pair< std::unique_ptr< IData >, size_t > Pair
cv::Mat image(const std::size_t index) const
std::shared_ptr< ProjectDB > database() const
bool save_image(const std::size_t index, const cv::Mat &image)