Fawkes API
Fawkes Development Version
|
Load images from files. More...
#include <>>
Public Member Functions | |
FileLoader (const char *filename) | |
Constructor. More... | |
FileLoader (colorspace_t cspace, const char *filename, unsigned int width, unsigned int height) | |
Legacy constructor. More... | |
FileLoader (const CameraArgumentParser *cap) | |
Constructor. More... | |
~FileLoader () | |
Destructor. More... | |
virtual void | open () |
Open the camera. More... | |
virtual void | start () |
Start image transfer from the camera. More... | |
virtual void | stop () |
Stop image transfer from the camera. More... | |
virtual void | close () |
Close camera. More... | |
virtual void | capture () |
Capture an image. More... | |
virtual void | flush () |
Flush image queue. More... | |
virtual bool | ready () |
Camera is ready for taking pictures. More... | |
virtual void | print_info () |
Print out camera information. More... | |
virtual unsigned char * | buffer () |
Get access to current image buffer. More... | |
virtual unsigned int | buffer_size () |
Size of buffer. More... | |
virtual void | dispose_buffer () |
Dispose current buffer. More... | |
virtual unsigned int | pixel_width () |
Width of image in pixels. More... | |
virtual unsigned int | pixel_height () |
Height of image in pixels. More... | |
virtual colorspace_t | colorspace () |
Colorspace of returned image. More... | |
virtual void | set_image_number (unsigned int n) |
Set image number to retrieve. More... | |
void | set_colorspace (colorspace_t c) |
Set the colorspace of the image. More... | |
void | set_pixel_width (unsigned int w) |
Set width. More... | |
void | set_pixel_height (unsigned int h) |
Set height. More... | |
![]() | |
virtual | ~Camera () |
Virtual empty destructor. More... | |
virtual fawkes::Time * | capture_time () |
Get the Time of the last successfully captured image. More... | |
Friends | |
int | file_select (struct dirent *) |
Load images from files.
The file loader tries to determine the image format of the given image using the the file type utility. Currently it recognizes JPEG and FvRaw image files.
Definition at line 39 of file fileloader.h.
firevision::FileLoader::FileLoader | ( | const char * | filename | ) |
Constructor.
filename | name of file to open, full path or relative to working directory |
Definition at line 88 of file fileloader.cpp.
firevision::FileLoader::FileLoader | ( | colorspace_t | cspace, |
const char * | filename, | ||
unsigned int | width, | ||
unsigned int | height | ||
) |
Legacy constructor.
Before FvRaw FireVision had the ability to store the pure buffer of an image without any header. Because of this additional information like colorspace, width and height of the image had to be supplied. The number of bytes that has to be read for the image is calculated from the given parameters.
cspace | color space of image |
filename | filename to open |
width | width of image |
height | height of image |
Definition at line 164 of file fileloader.cpp.
firevision::FileLoader::FileLoader | ( | const CameraArgumentParser * | cap | ) |
Constructor.
Initialize with the parameters from the given camera argument parser. The following parameters are supported:
Width, height, and colorspace are used for raw images without an header, e.g if captured by v4l2-ctl.
cap | camera argument parser |
Definition at line 118 of file fileloader.cpp.
References firevision::CameraArgumentParser::get(), firevision::CameraArgumentParser::get_int(), and firevision::CameraArgumentParser::has().
firevision::FileLoader::~FileLoader | ( | ) |
Destructor.
Definition at line 182 of file fileloader.cpp.
|
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.
Implements firevision::Camera.
Definition at line 255 of file fileloader.cpp.
|
virtual |
Size of buffer.
Gets the size in bytes of the buffer returned by buffer().
Implements firevision::Camera.
Definition at line 262 of file fileloader.cpp.
|
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 238 of file fileloader.cpp.
|
virtual |
Close camera.
This closes the camera device. The camera must have been stopped before calling close().
Implements firevision::Camera.
Definition at line 269 of file fileloader.cpp.
|
virtual |
Colorspace of returned image.
Implements firevision::Camera.
Definition at line 319 of file fileloader.cpp.
|
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 280 of file fileloader.cpp.
|
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 286 of file fileloader.cpp.
|
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 195 of file fileloader.cpp.
|
virtual |
Height of image in pixels.
Implements firevision::Camera.
Definition at line 312 of file fileloader.cpp.
|
virtual |
Width of image in pixels.
Implements firevision::Camera.
Definition at line 305 of file fileloader.cpp.
|
virtual |
Print out camera information.
Shall print out camera information and current setup information on stdout.
Implements firevision::Camera.
Definition at line 232 of file fileloader.cpp.
|
virtual |
Camera is ready for taking pictures.
The camera has been opened and started correctly and may now provide images.
Implements firevision::Camera.
Definition at line 292 of file fileloader.cpp.
void firevision::FileLoader::set_colorspace | ( | colorspace_t | c | ) |
Set the colorspace of the image.
c | colorspace |
Definition at line 329 of file fileloader.cpp.
|
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().
n | image number to set |
Implements firevision::Camera.
Definition at line 299 of file fileloader.cpp.
void firevision::FileLoader::set_pixel_height | ( | unsigned int | h | ) |
Set height.
h | image height in pixels |
Definition at line 349 of file fileloader.cpp.
References fawkes::Exception::append(), firevision::PNGReader::colorspace(), firevision::FvRawReader::colorspace(), firevision::JpegReader::colorspace(), firevision::ColormapFile::get_colormap(), firevision::Colormap::height(), firevision::PNGReader::pixel_height(), firevision::FvRawReader::pixel_height(), firevision::JpegReader::pixel_height(), firevision::PNGReader::pixel_width(), firevision::FvRawReader::pixel_width(), firevision::JpegReader::pixel_width(), firevision::PNGReader::read(), firevision::FvRawReader::read(), firevision::JpegReader::read(), firevision::FireVisionDataFile::read(), firevision::PNGReader::set_buffer(), firevision::FvRawReader::set_buffer(), firevision::JpegReader::set_buffer(), firevision::Colormap::to_image(), and firevision::Colormap::width().
void firevision::FileLoader::set_pixel_width | ( | unsigned int | w | ) |
|
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 213 of file fileloader.cpp.
|
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 225 of file fileloader.cpp.