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
10#include "openev/core/types.hpp"
13#include <opencv2/core/hal/interface.h>
14#include <opencv2/core/mat.hpp>
15#include <opencv2/core/matx.hpp>
16#include <utility>
17
18namespace ev {
53enum class Kernel { NONE,
54 LINEAR,
55 EXPONENTIAL };
56template <typename T, const RepresentationOptions Options = RepresentationOptions::NONE, typename E = int>
57class TimeSurface_ : public EventImage_<T, Options, E> {
58public:
59 template <typename... Args>
60 explicit TimeSurface_(Args &&...args) : EventImage_<T, Options, E>(std::forward<Args>(args)...) {
62 }
63
64 TimeMat time{this->size()};
65 PolarityMat polarity{this->size()};
66
74 cv::Mat &render(const Kernel kernel = Kernel::NONE, const double tau = 0);
75
76private:
77 void clear_() override;
78 void clear_(const cv::Mat &background) override;
79 bool insert_(const Event_<E> &e) override;
80};
108} // namespace ev
109
111#include "openev/representations/time-surface.tpp"
113
114#endif // OPENEV_REPRESENTATIONS_TIME_SURFACE_HPP
Event abstract representation.
This class extends cv::Point_<T> for event data. For more information, please refer here.
Definition types.hpp:60
Definition matrices.hpp:73
Definition matrices.hpp:44
Definition time-surface.hpp:57
cv::Mat & render(const Kernel kernel=Kernel::NONE, const double tau=0)
Render timesurface matrix.
TimeMat time
Definition time-surface.hpp:64
PolarityMat polarity
Definition time-surface.hpp:65
Event images.
Basic event-based vision structures based on OpenCV components.
TimeSurface_< cv::Vec4i > TimeSurface4i
Definition time-surface.hpp:96
TimeSurface_< int > TimeSurface1i
Definition time-surface.hpp:93
TimeSurface_< float > TimeSurface1f
Definition time-surface.hpp:97
TimeSurface_< cv::Vec4b > TimeSurface4b
Definition time-surface.hpp:84
TimeSurface_< cv::Vec4s > TimeSurface4s
Definition time-surface.hpp:88
TimeSurface_< cv::Vec4w > TimeSurface4w
Definition time-surface.hpp:92
TimeSurface_< cv::Vec3w > TimeSurface3w
Definition time-surface.hpp:91
TimeSurface_< cv::Vec3f > TimeSurface3f
Definition time-surface.hpp:99
TimeSurface_< cv::Vec2w > TimeSurface2w
Definition time-surface.hpp:90
TimeSurface_< cv::Vec3s > TimeSurface3s
Definition time-surface.hpp:87
TimeSurface1b TimeSurface1
Definition time-surface.hpp:105
TimeSurface_< cv::Vec2d > TimeSurface2d
Definition time-surface.hpp:102
TimeSurface_< ushort > TimeSurface1w
Definition time-surface.hpp:89
TimeSurface_< cv::Vec2f > TimeSurface2f
Definition time-surface.hpp:98
TimeSurface_< cv::Vec3i > TimeSurface3i
Definition time-surface.hpp:95
TimeSurface_< cv::Vec2b > TimeSurface2b
Definition time-surface.hpp:82
TimeSurface3b TimeSurface3
Definition time-surface.hpp:106
TimeSurface_< uchar > TimeSurface1b
Definition time-surface.hpp:81
Kernel
This class extends ev::EventImage_<T> for time surfaces.
Definition time-surface.hpp:53
TimeSurface_< cv::Vec3d > TimeSurface3d
Definition time-surface.hpp:103
TimeSurface_< cv::Vec4f > TimeSurface4f
Definition time-surface.hpp:100
TimeSurface_< double > TimeSurface1d
Definition time-surface.hpp:101
TimeSurface_< cv::Vec3b > TimeSurface3b
Definition time-surface.hpp:83
TimeSurface_< short > TimeSurface1s
Definition time-surface.hpp:85
TimeSurface1 TimeSurface
Definition time-surface.hpp:107
TimeSurface_< cv::Vec2s > TimeSurface2s
Definition time-surface.hpp:86
TimeSurface_< cv::Vec2i > TimeSurface2i
Definition time-surface.hpp:94
TimeSurface_< cv::Vec4d > TimeSurface4d
Definition time-surface.hpp:104
Basic event-based vision structures based on OpenCV components.