V4LCamera Class Reference
General Video4Linux camera implementation. More...
#include <cams/v4l.h>

Public Member Functions | |
| V4LCamera (const char *device_name="/dev/video0") | |
| Constructor. | |
| V4LCamera (const CameraArgumentParser *cap) | |
| Constructor. | |
| virtual | ~V4LCamera () |
| Destructor. | |
| virtual void | open () |
| Open the camera. | |
| virtual void | start () |
| Start image transfer from the camera. | |
| virtual void | stop () |
| Stop image transfer from the camera. | |
| virtual void | close () |
| Close camera. | |
| virtual void | flush () |
| Flush image queue. | |
| virtual void | capture () |
| Capture an image. | |
| virtual void | print_info () |
| Print out camera information. | |
| virtual bool | ready () |
| Camera is ready for taking pictures. | |
| virtual unsigned char * | buffer () |
| Get access to current image buffer. | |
| virtual unsigned int | buffer_size () |
| Size of buffer. | |
| virtual void | dispose_buffer () |
| Dispose current buffer. | |
| virtual unsigned int | pixel_width () |
| Width of image in pixels. | |
| virtual unsigned int | pixel_height () |
| Height of image in pixels. | |
| virtual colorspace_t | colorspace () |
| Colorspace of returned image. | |
| virtual void | set_image_number (unsigned int n) |
| Set image number to retrieve. | |
Detailed Description
General Video4Linux camera implementation.Maintains backwards compatibility. Chooses on the fly whether v4l1 or v4l2 is needed for a given device.
Definition at line 32 of file v4l.h.
Constructor & Destructor Documentation
| V4LCamera::V4LCamera | ( | const char * | device_name = "/dev/video0" |
) |
| V4LCamera::V4LCamera | ( | const CameraArgumentParser * | cap | ) |
Constructor.
Initialize camera with parameters from camera argument parser. Supported arguments:
- device=DEV, device file, for example /dev/video0
- Parameters:
-
cap camera argument parser
Definition at line 68 of file v4l.cpp.
References CameraArgumentParser::get(), and CameraArgumentParser::has().
Member Function Documentation
| unsigned char * V4LCamera::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 Camera.
Definition at line 167 of file v4l.cpp.
References Camera::buffer().
| unsigned int V4LCamera::buffer_size | ( | ) | [virtual] |
Size of buffer.
Gets the size in bytes of the buffer returned by buffer().
- Returns:
- size of buffer in bytes
Implements Camera.
Definition at line 173 of file v4l.cpp.
References Camera::buffer_size().
| void V4LCamera::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 Camera.
Definition at line 149 of file v4l.cpp.
References Camera::capture().
| void V4LCamera::close | ( | ) | [virtual] |
Close camera.
This closes the camera device. The camera must have been stopped before calling close().
Implements Camera.
Definition at line 137 of file v4l.cpp.
References Camera::close().
| colorspace_t V4LCamera::colorspace | ( | ) | [virtual] |
Colorspace of returned image.
- Returns:
- colorspace of image returned by buffer()
Implements Camera.
Definition at line 201 of file v4l.cpp.
References Camera::colorspace().
| void V4LCamera::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 Camera.
Definition at line 179 of file v4l.cpp.
References Camera::dispose_buffer().
| void V4LCamera::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 Camera.
Definition at line 143 of file v4l.cpp.
References Camera::flush().
| void V4LCamera::open | ( | ) | [virtual] |
| unsigned int V4LCamera::pixel_height | ( | ) | [virtual] |
Height of image in pixels.
- Returns:
- height of image in pixels
Implements Camera.
Definition at line 193 of file v4l.cpp.
References Camera::pixel_height().
| unsigned int V4LCamera::pixel_width | ( | ) | [virtual] |
Width of image in pixels.
- Returns:
- width of image in pixels
Implements Camera.
Definition at line 185 of file v4l.cpp.
References Camera::pixel_width().
| void V4LCamera::print_info | ( | ) | [virtual] |
Print out camera information.
Shall print out camera information and current setup information on stdout.
Implements Camera.
Definition at line 155 of file v4l.cpp.
References Camera::print_info().
| bool V4LCamera::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 Camera.
Definition at line 161 of file v4l.cpp.
References Camera::ready().
| void V4LCamera::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:
-
n image number to set
Implements Camera.
Definition at line 207 of file v4l.cpp.
References Camera::set_image_number().
| void V4LCamera::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 Camera.
Definition at line 121 of file v4l.cpp.
References Camera::start().
| void V4LCamera::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 Camera.
Definition at line 129 of file v4l.cpp.
References Camera::stop().
The documentation for this class was generated from the following files:

