BoB robotics
The Brains on Board robotics library
BoBRobotics::Video::Input Class Referenceabstract

An abstract class representing a video input stream. More...

#include <input.h>

Inheritance diagram for BoBRobotics::Video::Input:
BoBRobotics::AntWorld::RenderTargetInput BoBRobotics::Robots::Gazebo::Camera BoBRobotics::Robots::UAV::Bebop::VideoStream BoBRobotics::Video::NetSource BoBRobotics::Video::ODK2 BoBRobotics::Video::OpenCVInput BoBRobotics::Video::OpenGL BoBRobotics::Video::RPiCamera BoBRobotics::Video::RandomInput< GeneratorType >

Public Member Functions

ImgProc::OpenCVUnwrap360 createUnwrapper (const cv::Size &unwrapRes) const
 Create an ImgProc::OpenCVUnwrap360 object for this video stream. More...
 
virtual std::string getCameraName () const
 Get the name of this type of camera as a (short) string. More...
 
virtual units::frequency::hertz_t getFrameRate () const
 
virtual cv::Size getOutputSize () const =0
 Get the current output resolution of this video stream. More...
 
virtual bool needsUnwrapping () const
 Whether this video source needs unwrapping with an ImgProc::OpenCVUnwrap360. More...
 
virtual void setOutputSize (const cv::Size &)
 Set the output resolution of this video stream. More...
 
virtual bool readFrame (cv::Mat &outFrame)=0
 Try to read a frame in colour from this video source. More...
 
virtual bool readGreyscaleFrame (cv::Mat &outFrame)
 Try to read a frame in greyscale from this video source. More...
 
void readFrameSync (cv::Mat &outFrame)
 Read a frame synchronously, blocking until a new frame is received.
 
void readGreyscaleFrameSync (cv::Mat &outFrame)
 
void write (cv::FileStorage &fs) const
 Allows OpenCV to serialise info about this Input.
 

Static Public Attributes

static constexpr const char * DefaultCameraName = "unknown_camera"
 

Detailed Description

An abstract class representing a video input stream.

Member Function Documentation

◆ createUnwrapper()

ImgProc::OpenCVUnwrap360 BoBRobotics::Video::Input::createUnwrapper ( const cv::Size &  unwrapRes) const

Create an ImgProc::OpenCVUnwrap360 object for this video stream.

Parameters
unwrapResThe resolution of the unwrapped image

◆ getCameraName()

std::string BoBRobotics::Video::Input::getCameraName ( ) const
virtual

Get the name of this type of camera as a (short) string.

Note that this is used to load the appropriate unwrapping parameters (we look for a file called [camera name].yaml).

Reimplemented in BoBRobotics::AntWorld::RenderTargetInput, BoBRobotics::Robots::Gazebo::Camera, BoBRobotics::Robots::UAV::Bebop::VideoStream, BoBRobotics::Video::NetSource, BoBRobotics::Video::ODK2, BoBRobotics::Video::OpenCVInput, BoBRobotics::Video::OpenGL, BoBRobotics::Video::RandomInput< GeneratorType >, and BoBRobotics::Video::RPiCamera.

◆ getOutputSize()

◆ needsUnwrapping()

◆ readFrame()

virtual bool BoBRobotics::Video::Input::readFrame ( cv::Mat &  outFrame)
pure virtual

◆ readGreyscaleFrame()

bool BoBRobotics::Video::Input::readGreyscaleFrame ( cv::Mat &  outFrame)
virtual

Try to read a frame in greyscale from this video source.

The output frame should have type CV_8UC.

Returns
Whether a new frame was read

Reimplemented in BoBRobotics::Video::RandomInput< GeneratorType >.

◆ setOutputSize()

virtual void BoBRobotics::Video::Input::setOutputSize ( const cv::Size &  )
virtual

Set the output resolution of this video stream.

Reimplemented in BoBRobotics::Video::RPiCamera, BoBRobotics::Video::OpenCVInput, and BoBRobotics::Video::RandomInput< GeneratorType >.


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