BoB robotics
The Brains on Board robotics library
BoBRobotics::Navigation::ImageDatabase::GridRecorder Class Reference

For recording a grid of images at a fixed heading. More...

#include <image_database.h>

Inheritance diagram for BoBRobotics::Navigation::ImageDatabase::GridRecorder:
BoBRobotics::Navigation::ImageDatabase::Recorder

Public Member Functions

 GridRecorder (ImageDatabase &imageDatabase, const Range &xrange, const Range &yrange, const Range &zrange=Range(0_mm), degree_t heading=0_deg, std::string imageFormat="png", std::vector< std::string > extraFieldNames={})
 
Vector3< millimeter_t > getPosition (const std::array< size_t, 3 > &gridPosition) const
 Get the physical position represented by grid coordinates.
 
std::vector< Vector3< millimeter_t > > getPositions () const
 Get a vector of all possible positions for this grid.
 
template<class... Ts>
void record (const cv::Mat &image, Ts &&... extraFieldValues)
 Save a new image into the database with values for extra fields, if used. More...
 
template<class... Ts>
void record (const std::array< size_t, 3 > &gridPosition, const cv::Mat &image, Ts &&... extraFieldValues)
 Save a new image into the database at the specified coordinates with values for extra fields, if used. More...
 
size_t maximumSize () const
 
size_t sizeX () const
 
size_t sizeY () const
 
size_t sizeZ () const
 
- Public Member Functions inherited from BoBRobotics::Navigation::ImageDatabase::Recorder
cv::FileStorage & getMetadataWriter ()
 Get an object for writing additional metadata to.
 
void abortSave ()
 Don't save new metadata when this class is destroyed.
 
void save ()
 Save new metadata.
 
void setSaveImages (bool saveImages)
 
size_t size () const
 Current number of new entries for the ImageDatabase.
 

Additional Inherited Members

- Protected Member Functions inherited from BoBRobotics::Navigation::ImageDatabase::Recorder
 Recorder (ImageDatabase &imageDatabase, bool isRoute, std::unique_ptr< FrameWriter > writer, std::vector< std::string > extraFieldNames)
 
void addEntry (const cv::Mat &image, Entry entry, const std::function< std::string()> &getFileName)
 
template<class... Ts>
void addEntry (const cv::Mat &image, const std::function< std::string()> &getFileName, const Pose3< millimeter_t, degree_t > &pose, const std::array< size_t, 3 > &gridPosition, Ts &&... extraFieldValues)
 
const ImageDatabasegetImageDatabase () const
 
template<class... Ts>
void setExtraFields (std::string value, Ts &&... otherValues)
 
template<class... Ts>
void setExtraFields (const char *value, Ts &&... otherValues)
 
template<class T , class... Ts>
void setExtraFields (T value, Ts &&... otherValues)
 
void setExtraFields () const
 
- Protected Attributes inherited from BoBRobotics::Navigation::ImageDatabase::Recorder
cv::FileStorage m_YAML
 

Detailed Description

For recording a grid of images at a fixed heading.

Member Function Documentation

◆ record() [1/2]

template<class... Ts>
void BoBRobotics::Navigation::ImageDatabase::GridRecorder::record ( const cv::Mat &  image,
Ts &&...  extraFieldValues 
)
inline

Save a new image into the database with values for extra fields, if used.

!

◆ record() [2/2]

template<class... Ts>
void BoBRobotics::Navigation::ImageDatabase::GridRecorder::record ( const std::array< size_t, 3 > &  gridPosition,
const cv::Mat &  image,
Ts &&...  extraFieldValues 
)
inline

Save a new image into the database at the specified coordinates with values for extra fields, if used.

!


The documentation for this class was generated from the following files: