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:129
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