OpenEV
Extending OpenCV to event-based vision
|
This class extends AbstractCamera to operate with DAVIS event cameras. DAVIS cameras offer events (DVS), framed images (APS), and IMU data. More...
#include <davis.hpp>
Public Member Functions | |
BiasValue | getBias (const uint8_t name) const |
Retrieve the bias value associated with the given name. | |
bool | setBias (const uint8_t name, const BiasValue &value) |
Set the bias value associated with the given name. | |
void | enableDvs (bool state) |
Enable DVS. | |
void | setDvsTimeInterval (uint32_t usec) |
Set DVS maximum time interval between subsequent transmissions. | |
void | setDvsEventsPerPacket (uint32_t n) |
Set DVS maximum number of events per transmission. | |
void | enableAps (bool state) |
Enable APS. | |
void | setApsTimeInterval (uint32_t usec) |
Set APS maximum time interval between subsequent transmissions. | |
void | setExposure (uint32_t exposure) |
Set APS exposure time. | |
void | enableImu (bool state) |
Enable IMU. | |
bool | getData (Vector &events) override |
Get DVS data. | |
bool | getData (Queue &events) override |
Get DVS data. | |
bool | getData (StampedMat &frame) |
Get APS data. | |
bool | getData (StampedMatVector &frames) |
Get APS data. | |
bool | getData (StampedMatQueue &frames) |
Get APS data. | |
bool | getData (Imu &imu) |
Get IMU data. | |
bool | getData (ImuVector &imu) |
Get IMU data. | |
bool | getData (ImuQueue &imu) |
Get IMU data. | |
bool | getData (Vector &events, StampedMat &frame) |
Get DVS+APS data. | |
bool | getData (Vector &events, StampedMatVector &frames) |
Get DVS+APS data. | |
bool | getData (Queue &events, StampedMatQueue &frames) |
Get DVS+APS data. | |
bool | getData (Vector &events, Imu &imu) |
Get DVS+IMU data. | |
bool | getData (Vector &events, ImuVector &imu) |
Get DVS+IMU data. | |
bool | getData (Queue &events, ImuQueue &imu) |
Get DVS+IMU data. | |
bool | getData (Vector &events, StampedMat &frame, Imu &imu) |
Get DVS+APS+IMU data. | |
bool | getData (Vector &events, StampedMatVector &frame, ImuVector &imu) |
Get DVS+APS+IMU data. | |
bool | getData (Queue &events, StampedMatQueue &frame, ImuQueue &imu) |
Get DVS+APS+IMU data. | |
void | getEventRaw (std::vector< uint64_t > &data) |
Retrieve raw event data. | |
std::size_t | getEventRaw (uint64_t *data, const bool allow_realloc=true) |
Retrieve raw event data. | |
Public Member Functions inherited from ev::AbstractCamera | |
void | setTimeOffset (const double offset) |
Set offset to add after receiving events. | |
void | start () |
Start reading data. | |
void | stop () |
Stop reading data. | |
cv::Size | getSensorSize () const |
Get device sensor size. | |
cv::Rect_< uint16_t > | getRoi () const |
Get current ROI. | |
bool | setRoi (const cv::Rect_< uint16_t > &roi) |
Set current ROI. Events outside the ROI are not considered. Images are cropped according to the ROI. | |
BiasValue | getBias (const int8_t config_bias, const uint8_t name) const |
Retrieve the bias value associated with a specific configuration and name. | |
bool | setBias (const int8_t config_bias, const uint8_t name, const BiasValue &value) |
Set the bias value associated with a specific configuration and name. | |
void | flush (const double msec) const |
Discard data during an interval of time. | |
Static Public Attributes | |
static constexpr uint32_t | DEFAULT_INTERVAL = 20000 |
static constexpr uint32_t | DEFAULT_EXPOSURE = 6500 |
Additional Inherited Members | |
Protected Member Functions inherited from ev::AbstractCamera |
This class extends AbstractCamera to operate with DAVIS event cameras. DAVIS cameras offer events (DVS), framed images (APS), and IMU data.
void ev::Davis::enableAps | ( | bool | state | ) |
void ev::Davis::enableDvs | ( | bool | state | ) |
void ev::Davis::enableImu | ( | bool | state | ) |
ev::BiasValue ev::Davis::getBias | ( | const uint8_t | name | ) | const |
Retrieve the bias value associated with the given name.
name | The identifier for the bias value to retrieve. |
bool ev::Davis::getData | ( | Imu & | imu | ) |
bool ev::Davis::getData | ( | ImuQueue & | imu | ) |
Get IMU data.
imu | Imu data queue to which imu data will be added |
bool ev::Davis::getData | ( | ImuVector & | imu | ) |
Get IMU data.
imu | Imu data vector to which imu data will be added |
|
overridevirtual |
Get DVS data.
events | Event queue to which events will be added. |
Implements ev::AbstractCamera.
bool ev::Davis::getData | ( | ev::Queue & | events, |
ev::ImuQueue & | imu ) |
Get DVS+IMU data.
events | Event queue to which events will be added |
imu | Imu data queue to which imu data will be added |
bool ev::Davis::getData | ( | ev::Queue & | events, |
ev::StampedMatQueue & | frames, | ||
ev::ImuQueue & | imu ) |
Get DVS+APS+IMU data.
events | Event queue to which events will be added |
frames | Frame queue to which frame will be added |
imu | Imu data queue to which imu data will be added |
bool ev::Davis::getData | ( | ev::Queue & | events, |
ev::StampedMatQueue & | frames ) |
Get DVS+APS data.
events | Event queue to which events will be added |
frames | Frame queue to which frame will be added |
bool ev::Davis::getData | ( | StampedMat & | frame | ) |
Get APS data.
frame | Frame destination |
bool ev::Davis::getData | ( | StampedMatQueue & | frames | ) |
Get APS data.
frames | Frame queue to which frame will be added |
bool ev::Davis::getData | ( | StampedMatVector & | frames | ) |
Get APS data.
frames | Frame vector to which frame will be added |
|
overridevirtual |
Get DVS data.
events | Event vector to which events will be added |
Implements ev::AbstractCamera.
bool ev::Davis::getData | ( | ev::Vector & | events, |
ev::Imu & | imu ) |
Get DVS+IMU data.
events | Event vector to which events will be added |
imu | Imu data destination |
bool ev::Davis::getData | ( | ev::Vector & | events, |
ev::ImuVector & | imu ) |
Get DVS+IMU data.
events | Event vector to which events will be added |
imu | Imu data vector to which imu data will be added |
bool ev::Davis::getData | ( | ev::Vector & | events, |
ev::StampedMat & | frame ) |
Get DVS+APS data.
events | Event vector to which events will be added |
frame | Frame destination |
bool ev::Davis::getData | ( | ev::Vector & | events, |
ev::StampedMat & | frame, | ||
ev::Imu & | imu ) |
Get DVS+APS+IMU data.
events | Event vector to which events will be added |
frame | Frame destination |
imu | Imu data destination |
bool ev::Davis::getData | ( | ev::Vector & | events, |
ev::StampedMatVector & | frames, | ||
ev::ImuVector & | imu ) |
Get DVS+APS+IMU data.
events | Event vector to which events will be added |
frames | Frame vector to which frame will be added |
imu | Imu data vector to which imu data will be added |
bool ev::Davis::getData | ( | ev::Vector & | events, |
ev::StampedMatVector & | frames ) |
Get DVS+APS data.
events | Event vector to which events will be added |
frames | Frame vector to which frame will be added |
void ev::Davis::getEventRaw | ( | std::vector< uint64_t > & | data | ) |
Retrieve raw event data.
data | A vector to which the raw event data will be added. |
std::size_t ev::Davis::getEventRaw | ( | uint64_t * | data, |
const bool | allow_realloc = true ) |
Retrieve raw event data.
data | A vector to which the raw event data will be added. |
allow_realloc | If true, this function will assume data is empty and automatically manage its size (reallocating if needed). |
void ev::Davis::setApsTimeInterval | ( | uint32_t | usec | ) |
Set APS maximum time interval between subsequent transmissions.
usec | Maximum time interval in microseconds |
bool ev::Davis::setBias | ( | const uint8_t | name, |
const BiasValue & | value ) |
Set the bias value associated with the given name.
name | The identifier for the bias value to set. |
value | The new bias value to set. |
void ev::Davis::setDvsEventsPerPacket | ( | uint32_t | n | ) |
Set DVS maximum number of events per transmission.
n | Maximum number of events |
void ev::Davis::setDvsTimeInterval | ( | uint32_t | usec | ) |
Set DVS maximum time interval between subsequent transmissions.
usec | Maximum time interval in microseconds |
void ev::Davis::setExposure | ( | uint32_t | exposure | ) |
Set APS exposure time.
usec | Exposure time in microseconds |