24 #ifndef MULTIMARKERBUNDLE_H
25 #define MULTIMARKERBUNDLE_H
47 int optimization_keyframes;
48 int optimization_markers;
49 double optimization_error;
51 std::vector<Pose> camera_poses;
52 std::map<int, PointDouble> measurements;
54 measurements_index(
int frame,
int marker_id,
int marker_corner)
57 return (
int)(frame * marker_indices.size() * 4) + (get_id_index(marker_id) * 4) + marker_corner;
76 GetOptimizationError()
78 return optimization_error;
81 GetOptimizationKeyframes()
83 return optimization_keyframes;
86 GetOptimizationMarkers()
88 return optimization_markers;
106 _MeasurementsAdd(begin, end, camera_pose);
This file implements a multi-marker.
This file implements several optimization algorithms.
Simple Camera class for calculating distortions, orientation or projections with pre-calibrated camer...
Iterator type for traversing templated Marker vector without the template.
Iterator implementation for traversing templated Marker vector without the template.
Multi marker that uses bundle adjustment to refine the 3D positions of the markers (point cloud).
void MeasurementsAdd(const std::vector< M > *markers, const Pose &camera_pose)
Adds new measurements that are used in bundle adjustment.
MultiMarkerBundle(std::vector< int > &indices)
Constructor.
bool Optimize(Camera *_cam, double stop, int max_iter, Optimization::OptimizeMethod method=Optimization::TUKEY_LM)
Runs the bundle adjustment optimization.
void MeasurementsReset()
Resets the measurements and camera poses that are stored for bundle adjustment. If something goes fro...
Base class for using MultiMarker.
OptimizeMethod
Selection between the algorithm used in optimization. Following should be noticed:
Pose representation derived from the Rotation class