Fawkes API  Fawkes Development Version
firevision::BufferCamera Class Reference

#include <>>

Inheritance diagram for firevision::BufferCamera:

Public Member Functions

 BufferCamera (colorspace_t cspace, unsigned int width, unsigned int height)
 Constructor. More...
 
 ~BufferCamera ()
 Destructor. More...
 
virtual void open ()
 
virtual void start ()
 
virtual void stop ()
 
virtual void close ()
 
virtual void capture ()
 
virtual void flush ()
 
virtual bool ready ()
 
virtual void print_info ()
 
virtual unsigned char * buffer ()
 
virtual unsigned int buffer_size ()
 
virtual void dispose_buffer ()
 
virtual unsigned int pixel_width ()
 
virtual unsigned int pixel_height ()
 
virtual colorspace_t colorspace ()
 
virtual void set_image_number (unsigned int n)
 
- Public Member Functions inherited from firevision::Camera
virtual ~Camera ()
 Virtual empty destructor. More...
 
virtual fawkes::Timecapture_time ()
 Get the Time of the last successfully captured image. More...
 

Detailed Description

Simple buffer with a Camera interface. This camera implementation provides a simple image buffer that can be modified externally and is wrapped using the standard Camera interface.

Author
Tim Niemueller

Definition at line 37 of file buffer.h.

Constructor & Destructor Documentation

◆ BufferCamera()

firevision::BufferCamera::BufferCamera ( colorspace_t  cspace,
unsigned int  width,
unsigned int  height 
)

Constructor.

Parameters
cspacecolor space of image
widthwidth of image
heightheight of image

Definition at line 44 of file buffer.cpp.

◆ ~BufferCamera()

firevision::BufferCamera::~BufferCamera ( )

Destructor.

Definition at line 54 of file buffer.cpp.

Member Function Documentation

◆ buffer()

unsigned char * firevision::BufferCamera::buffer ( )
virtual

Get access to current image buffer. This will return a pointer to the current buffer. The buffer contains an image of the given colorspace, width and height.

Returns
pointer to image buffer

Implements firevision::Camera.

Definition at line 85 of file buffer.cpp.

◆ buffer_size()

unsigned int firevision::BufferCamera::buffer_size ( )
virtual

Size of buffer. Gets the size in bytes of the buffer returned by buffer().

Returns
size of buffer in bytes

Implements firevision::Camera.

Definition at line 91 of file buffer.cpp.

◆ capture()

void firevision::BufferCamera::capture ( )
virtual

Capture an image. Although cameras shall operate with a continuous image flow where possible sometimes capturing an image means copying a buffer or advancing a buffer list pointer. This shall be done in this method. For a camera-using application it is mandatory to call capture() just before accessing the image buffer.

Implements firevision::Camera.

Definition at line 80 of file buffer.cpp.

◆ close()

void firevision::BufferCamera::close ( )
virtual

Close camera. This closes the camera device. The camera must have been stopped before calling close().

Implements firevision::Camera.

Definition at line 97 of file buffer.cpp.

◆ colorspace()

colorspace_t firevision::BufferCamera::colorspace ( )
virtual

Colorspace of returned image.

Returns
colorspace of image returned by buffer()

Implements firevision::Camera.

Definition at line 135 of file buffer.cpp.

◆ dispose_buffer()

void firevision::BufferCamera::dispose_buffer ( )
virtual

Dispose current buffer. Some cameras need disposal of the current buffer (for example to free space in a queue to retrieve the next image). This is done with this method. It has to be called after all work has been done on the image as desired. After dispose_buffer() has been called no further access may happen to the image buffer or undesired behavior may happen.

Implements firevision::Camera.

Definition at line 102 of file buffer.cpp.

◆ flush()

void firevision::BufferCamera::flush ( )
virtual

Flush image queue. Some cameras may have an image buffer queue. With this it can happen that if the processing of an image took longer than desired it is needed to flush this buffer queue.

Implements firevision::Camera.

Definition at line 107 of file buffer.cpp.

◆ open()

void firevision::BufferCamera::open ( )
virtual

Open the camera. The camera is opened, but image transfer not yet started. This can be used to detect general problems with the camera while delaying the real transfer startup until it is needed.

Implements firevision::Camera.

Definition at line 60 of file buffer.cpp.

◆ pixel_height()

unsigned int firevision::BufferCamera::pixel_height ( )
virtual

Height of image in pixels.

Returns
height of image in pixels

Implements firevision::Camera.

Definition at line 129 of file buffer.cpp.

◆ pixel_width()

unsigned int firevision::BufferCamera::pixel_width ( )
virtual

Width of image in pixels.

Returns
width of image in pixels

Implements firevision::Camera.

Definition at line 123 of file buffer.cpp.

◆ print_info()

void firevision::BufferCamera::print_info ( )
virtual

Print out camera information. Shall print out camera information and current setup information on stdout.

Implements firevision::Camera.

Definition at line 75 of file buffer.cpp.

◆ ready()

bool firevision::BufferCamera::ready ( )
virtual

Camera is ready for taking pictures. The camera has been opened and started correctly and may now provide images.

Returns
true, if the camera is ready, false otherwise

Implements firevision::Camera.

Definition at line 112 of file buffer.cpp.

◆ set_image_number()

void firevision::BufferCamera::set_image_number ( unsigned int  n)
virtual

Set image number to retrieve. If a camera is able to retrieve several images this method can be used to select the image to be retrieved with the next call to capture().

Parameters
nimage number to set

Implements firevision::Camera.

Definition at line 118 of file buffer.cpp.

◆ start()

void firevision::BufferCamera::start ( )
virtual

Start image transfer from the camera. For many cameras opening the camera and starting transmission of images are two tasks. This method will simply initiate the transfer after the camera as been opened. And exception shall be thrown if the camera has not been opened.

Implements firevision::Camera.

Definition at line 65 of file buffer.cpp.

◆ stop()

void firevision::BufferCamera::stop ( )
virtual

Stop image transfer from the camera. This will stop the image transfer initiated with start(). This can be used to start and stop the image transfer at will without opening and closing operations inbetween.

Implements firevision::Camera.

Definition at line 70 of file buffer.cpp.


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