8 #ifndef META_OCEAN_TRACKING_POINT_POINT_TRACKER_H
9 #define META_OCEAN_TRACKING_POINT_POINT_TRACKER_H
103 inline void setTrackingMode(
const TrackingMode trackingMode);
201 Index32 previousFrameIndex_ = invalidFrameIndex;
204 unsigned int featurePointStrengthThreshold_ = 15u;
207 unsigned int binSize_ = 40u;
This class implements a frame pyramid.
Definition: FramePyramid.h:37
void clear()
Releases the internal frame layers.
Definition: FramePyramid.h:845
This class implements Ocean's image class.
Definition: Frame.h:1792
This class implements an occupancy array.
Definition: SpatialDistribution.h:370
This class implements a recursive lock object.
Definition: Lock.h:31
This class implements a scoped lock object for recursive lock objects.
Definition: Lock.h:135
This class implements a database for 3D object points, 2D image points and 6DOF camera poses.
Definition: Database.h:67
void clear()
Clears the database including all camera poses, object points, image points and any topology.
Definition: Database.h:4877
This class implements a point tracker able to track points between concurrent frames and stores previ...
Definition: PointTracker.h:44
PointTracker & operator=(PointTracker &&pointTracker) noexcept
Move operator.
Database database_
The database storing the object points (feature points) and their corresponding image points.
Definition: PointTracker.h:192
Lock lock_
The lock for this tracker.
Definition: PointTracker.h:210
PointTracker(const PointTracker &pointTracker)
Copy constructor.
static constexpr Index32 invalidFrameIndex
Definition of an invalid frame index.
Definition: PointTracker.h:50
TrackingMode trackingMode() const
Returns the current tracking mode.
Definition: PointTracker.h:220
Index32 newFrame(const Frame &yFrame, Worker *worker=nullptr)
Tracks object points (feature points) in a new frame.
void clear()
Clears the database containing the object points and their corresponding image points.
Definition: PointTracker.h:227
CV::FramePyramid currentFramePyramid_
The frame pyramid of the current frame.
Definition: PointTracker.h:198
void clearUpTo(const unsigned int frameIndex)
Removes all entries from the tracking database older than a specified frame index.
void detectNewFeaturePoints(const Frame &yFrame, Geometry::SpatialDistribution::OccupancyArray &occupancyArray, Vectors2 &newFeaturePoints, Worker *worker=nullptr)
Detects new feature points in empty regions of the provided frame.
void setTrackingMode(const TrackingMode trackingMode)
Sets or changes the tracking mode.
Definition: PointTracker.h:213
Database & database()
Returns the internal database storing the topology of the tracked points.
Definition: PointTracker.h:238
Index32 previousFrameIndex_
The index of the previous frame.
Definition: PointTracker.h:201
PointTracker(PointTracker &&pointTracker) noexcept
Move constructor.
PointTracks pointTracks(const Index32 imageIndex, const unsigned int maximalLength=(unsigned int)(-1))
Returns the point tracks for all object points.
TrackingMode trackingMode_
The tracking mode to be used.
Definition: PointTracker.h:189
PointTracker & operator=(const PointTracker &pointTracker)
Assign operator.
PointTracker()
Creates a new point tracker.
std::vector< Vectors2 > PointTracks
Definition of a vector holding 2D vectors.
Definition: PointTracker.h:55
TrackingMode
Definition of individual tracking modes.
Definition: PointTracker.h:61
@ TM_ZM_SSD_15
Zero-mean sum square differences tracking with 15 pixel image patch.
Definition: PointTracker.h:72
@ TM_SSD_7
Sum square differences tracking with 7 pixel image patch.
Definition: PointTracker.h:63
@ TM_SSD_15
Sum square differences tracking with 15 pixel image patch.
Definition: PointTracker.h:65
@ TM_ZM_SSD_7
Zero-mean sum square differences tracking with 7 pixel image patch.
Definition: PointTracker.h:70
@ TM_SSD_31
Sum square differences tracking with 31 pixel image patch.
Definition: PointTracker.h:67
@ TM_ZM_SSD_31
Zero-mean sum square differences tracking with 31 pixel image patch.
Definition: PointTracker.h:74
static bool trackFeaturePoints(const TrackingMode trackingMode, const CV::FramePyramid &previousFramePyramid, const CV::FramePyramid ¤tFramePyramid, Vectors2 &previousImagePoints, Vectors2 ¤tImagePoints, Indices32 &validIndices, Worker *worker)
Tracks feature points from one frame (pyramid) to another frame (pyramid).
CV::FramePyramid previousFramePyramid_
The frame pyramid of the previous frame.
Definition: PointTracker.h:195
This class implements a worker able to distribute function calls over different threads.
Definition: Worker.h:33
std::vector< Index32 > Indices32
Definition of a vector holding 32 bit index values.
Definition: Base.h:96
uint32_t Index32
Definition of a 32 bit index value.
Definition: Base.h:84
std::vector< Vector2 > Vectors2
Definition of a vector holding Vector2 objects.
Definition: Vector2.h:64
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15