OpenEV
Extending OpenCV to event-based vision
Loading...
Searching...
No Matches
time-surface.hpp
Go to the documentation of this file.
1
6#ifndef OPENEV_REPRESENTATIONS_TIME_SURFACE_HPP
7#define OPENEV_REPRESENTATIONS_TIME_SURFACE_HPP
8
12#include <opencv2/core.hpp>
13#include <utility>
14
15namespace ev {
50enum class Kernel { NONE,
51 LINEAR,
52 EXPONENTIAL };
53template <typename T, const RepresentationOptions Options = RepresentationOptions::NONE>
54class TimeSurface_ : public EventImage_<T, Options> {
55public:
56 template <typename... Args>
57 explicit TimeSurface_(Args &&...args) : EventImage_<T, Options>(std::forward<Args>(args)...) {
59 }
60
61 cv::Mat_<double> time{this->size()};
62 cv::Mat_<bool> polarity{this->size()};
71 cv::Mat &render(const Kernel kernel = Kernel::NONE, const double tau = 0);
72
73private:
74 void clear_() override;
75 void clear_(const cv::Mat &background) override;
76 bool insert_(const Event &e) override;
77};
105} // namespace ev
106
108#include "openev/representations/time-surface.tpp"
111#endif // OPENEV_REPRESENTATIONS_TIME_SURFACE_HPP
Event abstract representation.
This class extends cv::Mat_<T> for event images. For more information, please refer here.
Definition event-image.hpp:52
This class extends cv::Point_<T> for event data. For more information, please refer here.
Definition types.hpp:60
Definition time-surface.hpp:54
cv::Mat_< double > time
Definition time-surface.hpp:61
cv::Mat & render(const Kernel kernel=Kernel::NONE, const double tau=0)
Render timesurface matrix.
cv::Mat_< bool > polarity
Definition time-surface.hpp:62
Event images.
Kernel
This class extends ev::EventImage_<T> for time surfaces.
Definition time-surface.hpp:50
Basic event-based vision structures based on OpenCV components.