8 #ifndef META_OCEAN_TRACKING_MAPBUILDING_TRACKER_STEREO_H
9 #define META_OCEAN_TRACKING_MAPBUILDING_TRACKER_STEREO_H
72 bool track(
const AnyCamera& anyCameraA,
const AnyCamera& anyCameraB,
const HomogenousMatrix4& device_T_cameraA,
const HomogenousMatrix4& device_T_cameraB,
const Frame& yFrameA,
const Frame& yFrameB,
HomogenousMatrix4& world_T_device,
const unsigned int minimalNumberCorrespondences,
const Scalar maximalProjectionError,
const HomogenousMatrix4& world_T_roughDevice =
HomogenousMatrix4(
false),
Worker* worker =
nullptr);
This class implements the abstract base class for all AnyCamera objects.
Definition: AnyCamera.h:130
This class implements a frame pyramid.
Definition: FramePyramid.h:37
This class implements Ocean's image class.
Definition: Frame.h:1792
std::function< bool(const AnyCamera &camera, const Frame &yFrame, Vectors2 &imagePoints, SharedUnifiedDescriptors &imagePointDescriptors)> ImageFeaturePointDetectorFunction
Definition of a function which detects and describes feature points in a given image.
Definition: Relocalizer.h:42
This class implements a relocalizer for stereo cameras.
Definition: RelocalizerStereo.h:35
This class implements a tracker for mono cameras.
Definition: TrackerStereo.h:30
Vectors2 previousImagePointsA_
The previous image points in the first camera.
Definition: TrackerStereo.h:101
CV::FramePyramid yPreviousFramePyramidA_
The frame pyramid holding the previous first camera image.
Definition: TrackerStereo.h:89
CV::FramePyramid yCurrentFramePyramidA_
The frame pyramid holding the current first camera image.
Definition: TrackerStereo.h:95
bool setFeatureMap(SharedUnifiedFeatureMap featureMap) override
Sets or updates the feature map to be used for relocalization.
bool track(const AnyCamera &anyCameraA, const AnyCamera &anyCameraB, const HomogenousMatrix4 &device_T_cameraA, const HomogenousMatrix4 &device_T_cameraB, const Frame &yFrameA, const Frame &yFrameB, HomogenousMatrix4 &world_T_device, const unsigned int minimalNumberCorrespondences, const Scalar maximalProjectionError, const HomogenousMatrix4 &world_T_roughDevice=HomogenousMatrix4(false), Worker *worker=nullptr)
Tracks the current frame a given frame.
std::unordered_map< Index32, Index32 > ObjectPointIdMap
Definition of an unordered map mapping object point ids to object point indices.
Definition: TrackerStereo.h:36
Vectors2 previousImagePointsB_
The previous image points in the second camera.
Definition: TrackerStereo.h:104
CV::FramePyramid yPreviousFramePyramidB_
The frame pyramid holding the previous second camera image.
Definition: TrackerStereo.h:92
TrackerStereo(ImageFeaturePointDetectorFunction imageFeaturePointDetectorFunction)
Creates a new tracker object.
void createDebuggingElementFeatureCorrespondences(const AnyCamera &anyCameraA, const AnyCamera &anyCameraB, const HomogenousMatrix4 &world_T_device, const HomogenousMatrix4 &device_T_cameraA, const HomogenousMatrix4 &device_T_cameraB)
Creates the feature correspondences debugging element.
TrackerStereo()=default
Creates a new tracker object.
Vectors3 previousObjectPointsA_
The previous object points observed in the first camera.
Definition: TrackerStereo.h:107
CV::FramePyramid yCurrentFramePyramidB_
The frame pyramid holding the current second camera image.
Definition: TrackerStereo.h:98
Vectors3 previousObjectPointsB_
The previous object points observed in the second camera.
Definition: TrackerStereo.h:110
ObjectPointIdMap objectPointIdMap_
The map mapping object point ids to object point indices.
Definition: TrackerStereo.h:113
This class implements a worker able to distribute function calls over different threads.
Definition: Worker.h:33
float Scalar
Definition of a scalar type.
Definition: Math.h:128
std::vector< Vector2 > Vectors2
Definition of a vector holding Vector2 objects.
Definition: Vector2.h:64
HomogenousMatrixT4< Scalar > HomogenousMatrix4
Definition of the HomogenousMatrix4 object, depending on the OCEAN_MATH_USE_SINGLE_PRECISION flag eit...
Definition: HomogenousMatrix4.h:37
std::vector< Vector3 > Vectors3
Definition of a vector holding Vector3 objects.
Definition: Vector3.h:65
std::shared_ptr< UnifiedFeatureMap > SharedUnifiedFeatureMap
Definition of a shared pointer holding a UnifiedFeatureMap object.
Definition: UnifiedFeatureMap.h:31
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15