8 #ifndef META_OCEAN_TRACKING_MAPBUILDING_MAP_MERGING_H
9 #define META_OCEAN_TRACKING_MAPBUILDING_MAP_MERGING_H
61 static size_t closeLoops(
Database& database,
FreakMultiDescriptorMap256& freakMap,
const PinholeCamera& pinholeCamera,
RandomGenerator& randomGenerator,
const unsigned int minimalNumberValidCorrespondences,
const unsigned int maximalNumberOverlappingObjectPointInPosePair = 50u,
const unsigned int maximalDescriptorDistance = 64u,
const unsigned int iterationsWithoutImprovements = 100u);
92 static bool mergeMaps(
const PinholeCamera& sourceCamera,
const Database& sourceDatabase,
const UnifiedDescriptorMap& sourceDescriptorMap,
const PinholeCamera& targetCamera,
Database& targetDatabase,
UnifiedDescriptorMap& targetDescriptorMap,
RandomGenerator& randomGenerator,
const unsigned int minimalNumberCorrespondingFeaturesPerPose = 50u,
const unsigned int minimalNumberCorrespondingPoses = 20u,
const unsigned int iterationsWithoutImprovements = 100u,
const unsigned int maximalNumberImprovements = (
unsigned int)(-1));
This class implements a generator for random numbers.
Definition: RandomGenerator.h:42
This class implements a database for 3D object points, 2D image points and 6DOF camera poses.
Definition: Database.h:67
This class implements functions necessary when handling descriptors.
Definition: DescriptorHandling.h:32
std::unordered_map< Index32, FreakMultiDescriptors256 > FreakMultiDescriptorMap256
Definition of an unordered map mapping FREAK Multi descriptors.
Definition: DescriptorHandling.h:48
This class implements merging algorithms and functionalities for maps.
Definition: MapMerging.h:36
static size_t mergeObjectPoints(Database &database, FreakMultiDescriptorMap256 &freakMap, const PinholeCamera &pinholeCamera, RandomGenerator &randomGenerator, const Scalar maximalProjectionError, const unsigned int maximalDescriptorDistance=64u, const unsigned int iterationsWithoutImprovements=100u)
Merges individual 3D object points in a database.
static bool mergeMaps(const PinholeCamera &sourceCamera, const Database &sourceDatabase, const UnifiedDescriptorMap &sourceDescriptorMap, const PinholeCamera &targetCamera, Database &targetDatabase, UnifiedDescriptorMap &targetDescriptorMap, RandomGenerator &randomGenerator, const unsigned int minimalNumberCorrespondingFeaturesPerPose=50u, const unsigned int minimalNumberCorrespondingPoses=20u, const unsigned int iterationsWithoutImprovements=100u, const unsigned int maximalNumberImprovements=(unsigned int)(-1))
Merges two maps together.
static bool bundleAdjustment(Database &database, const PinholeCamera &pinholeCamera, RandomGenerator &randomGenerator, const unsigned int iterations)
Executes bundle adjustment in a given database.
static size_t closeLoops(Database &database, FreakMultiDescriptorMap256 &freakMap, const PinholeCamera &pinholeCamera, RandomGenerator &randomGenerator, const unsigned int minimalNumberValidCorrespondences, const unsigned int maximalNumberOverlappingObjectPointInPosePair=50u, const unsigned int maximalDescriptorDistance=64u, const unsigned int iterationsWithoutImprovements=100u)
Closes the loop(s) in a database and merges all corresponding 3D object points.
This class implements the base class for all unified descriptor maps in which ids are mapped to descr...
Definition: UnifiedDescriptorMap.h:38
float Scalar
Definition of a scalar type.
Definition: Math.h:128
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15