8 #ifndef META_OCEAN_TRACKING_HOMOGRAPHY_PLANE_FINDER_H
9 #define META_OCEAN_TRACKING_HOMOGRAPHY_PLANE_FINDER_H
56 inline const Vectors2& initialImagePoints()
const;
62 inline const Vectors2& currentImagePoints()
const;
140 planeImagePointsSets(0)
This class implements a generator for random numbers.
Definition: RandomGenerator.h:42
bool isEmpty() const
Returns whether this object does not hold any set of elements.
Definition: CorrespondenceSet.h:536
const ElementsVector & correspondences() const
Returns the set of stored correspondences.
Definition: CorrespondenceSet.h:258
This class implements a 3D plane finder that determines the plane by calculation of a homography betw...
Definition: HomographyPlaneFinder.h:30
static bool determineBestNormalPair(const NormalPairs &normalPairs, size_t &index, Scalar &angle)
Determines the pair of normals with smallest angle.
std::pair< Vector3, Vector3 > NormalPair
Definition of a pair storing two corresponding normals.
Definition: HomographyPlaneFinder.h:36
HomographyPlaneFinder()
Creates a new plane finder object.
Definition: HomographyPlaneFinder.h:139
bool addPlaneCandidates(const PinholeCamera &pinhole)
Determines a new set of plane candidates matching with the currently stored image point correspondenc...
NormalPairs planeFinderNormalPairs
Successive plane normal sets.
Definition: HomographyPlaneFinder.h:130
const Vectors2 & initialImagePoints() const
Returns the first point set that is stored.
Definition: HomographyPlaneFinder.h:145
const Vectors2 & currentImagePoints() const
Returns the current point set that is stored.
Definition: HomographyPlaneFinder.h:151
bool determineMostAccuratePlanes(Plane3 planes[2])
Determines the pair of planes which have been determined in the previous calls of addPlaneCandidates(...
static Scalar maximalCosBetweenNormalPairs(const NormalPair &minus, const NormalPair ¢er, const NormalPair &plus)
Determines the maximal cosine value between three pairs of plane normals.
bool hasAccuratePlane(const Scalar maxAngle)
Checks whether one of the last three successive frames provided almost identical plane normals.
RandomGenerator randomGenerator
Random number generator.
Definition: HomographyPlaneFinder.h:133
std::vector< NormalPair > NormalPairs
Definition of a vector holding pairs of normals.
Definition: HomographyPlaneFinder.h:43
size_t planeImagePointsSets
Number of image points sets that have been added.
Definition: HomographyPlaneFinder.h:136
virtual bool addImagePoint(const Vectors2 &imagePoints, const Indices32 &validIndices)
Adds a new subset of image points that corresponds to a subset of the stored sets of image points.
virtual bool addImagePoint(Vectors2 &&imagePoints)
Adds new image points as new set of correspondences.
virtual bool addImagePoint(const Vectors2 &imagePoints)
Adds new image points as new set of correspondences.
This class implements a 3D plane finder without any previous knowledge about the plane or the camera ...
Definition: PlaneFinder.h:32
ImagePointCorrespondenceSet imagePointCorrespondences
The set of image point correspondences.
Definition: PlaneFinder.h:123
std::vector< Index32 > Indices32
Definition of a vector holding 32 bit index values.
Definition: Base.h:96
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
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15