This class implements a base class for all visual tracker objects.
More...
#include <VisualTracker.h>
|
const Vector3 & | maximalPositionOffset () const |
| Returns the maximal expected pose position offset between two successive frames for this tracker.
|
|
Scalar | maximalOrientationOffset () const |
| Returns the maximal expected pose orientation offset between two successive frames for this tracker.
|
|
virtual bool | setMaxPositionOffset (const Vector3 &positionOffset) |
| Sets or changes the maximal expected pose position offset between two successive frames for this tracker.
|
|
virtual bool | setMaxOrientationOffset (const Scalar orientationOffset) |
| Sets or changes the maximal expected pose orientation offset between two successive frames for this tracker.
|
|
virtual bool | determinePoses (const Frames &frames, const SharedAnyCameras &anyCameras, TransformationSamples &transformations, const Quaternion &world_R_camera=Quaternion(false), Worker *worker=nullptr) |
| Executes the tracking step for a collection of frames and corresponding cameras This function allows to specify an absolute orientation 'absoluteOrientation' provided by e.g., an IMU sensor.
|
|
virtual bool | determinePoses (const Frame &frame, const PinholeCamera &pinholeCamera, const bool frameIsUndistorted, TransformationSamples &transformations, const Quaternion &world_R_camera=Quaternion(false), Worker *worker=nullptr)=0 |
| Deprecated.
|
|
| Tracker () |
| Creates a new tracker object.
|
|
virtual | ~Tracker () |
| Destructs a new tracker object.
|
|
This class implements a base class for all visual tracker objects.
◆ ObjectId
Definition of an object id.
◆ TransformationSamples
Definition of a vector holding a transformation sample object.
◆ VisualTracker()
Ocean::Tracking::VisualTracker::VisualTracker |
( |
| ) |
|
|
protecteddefault |
Creates a new visual tracker object.
◆ determinePoses() [1/2]
Deprecated.
Executes the tracking for a given frame. This function allows to specify an absolute orientation 'absoluteOrientation' provided by e.g., an IMU sensor.
This orientation can be defined in relation to an independent coordinate system not related with the tracking objects (as long as this coordinate system does not change between successive calls).
The tracker can use the provided orientation to improve tracking robustness.
- Parameters
-
frame | The frame to be used for tracking, must be valid |
pinholeCamera | The pinhole camera object associated with the frame, with width and height matching with the frame's resolution |
frameIsUndistorted | True, if the original input frame is undistorted and thus feature must not be undistorted explicitly |
transformations | Resulting 6DOF poses combined with the tracking ids |
world_R_camera | Optional absolute orientation of the camera in the moment the frame was taken, defined in a coordinate system (e.g., world) not related with the tracking objects, an invalid object otherwise |
worker | Optional worker object |
- Returns
- True, if succeeded
Implemented in Ocean::Tracking::ORB::FeatureTracker6DOF, Ocean::Tracking::RMV::RMVFeatureTracker6DOF, and Ocean::Tracking::Pattern::PatternTracker6DOF.
◆ determinePoses() [2/2]
Executes the tracking step for a collection of frames and corresponding cameras This function allows to specify an absolute orientation 'absoluteOrientation' provided by e.g., an IMU sensor.
This orientation can be defined in relation to an independent coordinate system not related with the tracking objects (as long as this coordinate system does not change between successive calls).
The tracker can use the provided orientation to improve tracking robustness.
- Note
- The base implementation will only accept a single frame and camera and will return false for multiple frames and cameras. If the camera type is not a pinhole camera, the input frame will be undistorted and the camera will be converted to a pinhole camera, which is an expensive operation. For customization this function needs to be overriden.
-
Once the deprecated function below has been removed, this function will become purely virtual. For any derived class, it is strongly suggested to provide an override of this function.
- Parameters
-
frames | The frames to be used for tracking, must have at least one element and have same number of elements as anyCameras , all elements must be valid |
anyCameras | The camera objects associated with the frames, with width and height must match that of each corresponding frame, must have same number of elements as frames , all elements must be valid |
transformations | The resulting 6DOF poses combined with the tracking IDs |
world_R_camera | An optional absolute orientation of the camera in the moment the frame was taken, defined in a coordinate system (e.g., world) not related with the tracking objects, an invalid object otherwise |
worker | An optional worker object |
- Returns
- True, if succeeded
Reimplemented in Ocean::Tracking::RMV::RMVFeatureTracker6DOF.
◆ maximalOrientationOffset()
Scalar Ocean::Tracking::VisualTracker::maximalOrientationOffset |
( |
| ) |
const |
|
inline |
Returns the maximal expected pose orientation offset between two successive frames for this tracker.
- Returns
- Maximal pose orientation offset in radian
◆ maximalPositionOffset()
const Vector3 & Ocean::Tracking::VisualTracker::maximalPositionOffset |
( |
| ) |
const |
|
inline |
Returns the maximal expected pose position offset between two successive frames for this tracker.
- Returns
- Maximal pose position offset separately for each axis
◆ setMaxOrientationOffset()
virtual bool Ocean::Tracking::VisualTracker::setMaxOrientationOffset |
( |
const Scalar |
orientationOffset | ) |
|
|
virtual |
Sets or changes the maximal expected pose orientation offset between two successive frames for this tracker.
- Parameters
-
orientationOffset | New orientation offset to be set in radian, with range (0, PI) |
- Returns
- True, if succeeded
◆ setMaxPositionOffset()
virtual bool Ocean::Tracking::VisualTracker::setMaxPositionOffset |
( |
const Vector3 & |
positionOffset | ) |
|
|
virtual |
Sets or changes the maximal expected pose position offset between two successive frames for this tracker.
- Parameters
-
positionOffset | New position offset to be set for each axis separately, with range (0, infinity) |
- Returns
- True, if succeeded
◆ lock_
Lock Ocean::Tracking::VisualTracker::lock_ |
|
mutableprotected |
◆ maxOrientationOffset_
Maximal pose orientation offset between two frames, in radian angle.
◆ maxPositionOffset_
Maximal pose position offset between two frames.
◆ motionModel_
MotionModel Ocean::Tracking::VisualTracker::motionModel_ |
|
protected |
Pose motion model to predict the pose of the next frame.
The documentation for this class was generated from the following file: