8#ifndef META_OCEAN_TRACKING_POINT_FRAME_2_FRAME_TRACKER_H
9#define META_OCEAN_TRACKING_POINT_FRAME_2_FRAME_TRACKER_H
58 template <
unsigned int tSize>
62template <
unsigned int tSize>
65 ocean_assert(camera.
isValid() && world_T_previousCamera.
isValid());
70 ocean_assert(previousObjectPoints.size() >= 3);
71 ocean_assert(previousObjectPoints.size() == previousImagePoints.size());
73 Vectors2 copyPreviousImagePoints(previousImagePoints);
82 if (internalValidIndices.size() < 3)
92 if (validIndices !=
nullptr)
94 *validIndices = std::move(internalValidIndices);
This class implements the abstract base class for all AnyCamera objects.
Definition AnyCamera.h:131
virtual bool isValid() const =0
Returns whether this camera is valid.
This class implements advanced motion techniques (mainly with sub-pixel accuracy or binary masks) all...
Definition AdvancedMotion.h:367
@ DM_FILTER_14641
Down sampling is realized by a 5x5 Gaussian filter.
Definition FramePyramid.h:81
This class implements an indexed-based constant accessor providing access to a subset of elements sto...
Definition Accessor.h:1141
This class implements Ocean's image class.
Definition Frame.h:1969
const FrameType & frameType() const
Returns the frame type of this frame.
Definition Frame.h:4029
bool isValid() const
Returns whether this frame is valid.
Definition Frame.h:4705
static bool optimizePose(const AnyCamera &anyCamera, const HomogenousMatrix4 &world_T_camera, const ConstIndexedAccessor< Vector3 > &objectPoints, const ConstIndexedAccessor< Vector2 > &imagePoints, HomogenousMatrix4 &world_T_optimizedCamera, const unsigned int iterations=20u, const Estimator::EstimatorType estimator=Estimator::ET_SQUARE, Scalar lambda=Scalar(0.001), const Scalar lambdaFactor=10, Scalar *initialError=nullptr, Scalar *finalError=nullptr, Scalars *intermediateRobustErrors=nullptr, const GravityConstraints *gravityConstraints=nullptr)
Minimizes the projection error of a given 6DOF pose holding orientation and translation parameters fo...
Definition NonLinearOptimizationPose.h:235
bool isValid() const
Returns whether this matrix is a valid homogeneous transformation.
Definition HomogenousMatrix4.h:1800
This class implements simple functions allowing to track or to determine the camera motion from one f...
Definition point/Frame2FrameTracker.h:41
static bool determinePose(const AnyCamera &camera, const HomogenousMatrix4 &world_T_previousCamera, const Frame &previousFrame, const Frame ¤tFrame, const Vectors3 &previousObjectPoints, const Vectors2 &previousImagePoints, const unsigned int maximalOffset, HomogenousMatrix4 &world_T_currentCamera, Indices32 *validIndices=nullptr, Worker *worker=nullptr)
Determines the camera pose for a current camera frame by tracking image points from the previous fram...
Definition point/Frame2FrameTracker.h:63
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
std::vector< Vector2 > Vectors2
Definition of a vector holding Vector2 objects.
Definition Vector2.h:64
float Scalar
Definition of a scalar type.
Definition Math.h:129
std::vector< Vector3 > Vectors3
Definition of a vector holding Vector3 objects.
Definition Vector3.h:65
The namespace covering the entire Ocean framework.
Definition Accessor.h:15