BoB robotics
The Brains on Board robotics library
BoBRobotics::Video::OpenGL Class Reference

Read a video stream from an OpenGL buffer. More...

#include <opengl.h>

Inheritance diagram for BoBRobotics::Video::OpenGL:
BoBRobotics::Video::Input BoBRobotics::AntWorld::Camera BoBRobotics::AntWorld::AntAgent

Public Member Functions

 OpenGL (const cv::Size &size, const cv::Point &bottomLeft={ 0, 0 })
 Create a Video::Input for reading from an OpenGL window. More...
 
virtual std::string getCameraName () const override
 Get the name of this type of camera as a (short) string. More...
 
virtual cv::Size getOutputSize () const override
 Get the current output resolution of this video stream. More...
 
virtual bool readFrame (cv::Mat &outFrame) override
 Try to read a frame in colour from this video source. More...
 
virtual bool needsUnwrapping () const override
 Whether this video source needs unwrapping with an ImgProc::OpenCVUnwrap360. More...
 
- Public Member Functions inherited from BoBRobotics::Video::Input
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.
 

Additional Inherited Members

- Static Public Attributes inherited from BoBRobotics::Video::Input
static constexpr const char * DefaultCameraName = "unknown_camera"
 

Detailed Description

Read a video stream from an OpenGL buffer.

Constructor & Destructor Documentation

◆ OpenGL()

BoBRobotics::Video::OpenGL::OpenGL ( const cv::Size &  size,
const cv::Point &  bottomLeft = { 0, 0 } 
)

Create a Video::Input for reading from an OpenGL window.

Parameters
sizeSize of image
bottomLeftThe starting coordinates to read from (from bottom left of screen)

Member Function Documentation

◆ getCameraName()

std::string BoBRobotics::Video::OpenGL::getCameraName ( ) const
overridevirtual

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 from BoBRobotics::Video::Input.

◆ getOutputSize()

cv::Size BoBRobotics::Video::OpenGL::getOutputSize ( ) const
overridevirtual

Get the current output resolution of this video stream.

Implements BoBRobotics::Video::Input.

◆ needsUnwrapping()

bool BoBRobotics::Video::OpenGL::needsUnwrapping ( ) const
overridevirtual

Whether this video source needs unwrapping with an ImgProc::OpenCVUnwrap360.

Reimplemented from BoBRobotics::Video::Input.

◆ readFrame()

bool BoBRobotics::Video::OpenGL::readFrame ( cv::Mat &  outFrame)
overridevirtual

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

The output frame should have type CV_8UC3.

Returns
Whether a new frame was read

Implements BoBRobotics::Video::Input.

Reimplemented in BoBRobotics::AntWorld::Camera.


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