24 #ifndef MARKER_DETECTOR_H 25 #define MARKER_DETECTOR_H 47 #include <Eigen/StdVector> 56 virtual Marker* new_M(
double _edge_length = 0,
int _res = 0,
double _margin = 0) = 0;
57 virtual void _markers_clear() = 0;
58 virtual void _markers_push_back(
Marker *mn) = 0;
59 virtual size_t _markers_size() = 0;
60 virtual void _track_markers_clear() = 0;
61 virtual void _track_markers_push_back(
Marker *mn) = 0;
62 virtual size_t _track_markers_size() = 0;
63 virtual Marker* _track_markers_at(
size_t i) = 0;
64 virtual void _swap_marker_tables() = 0;
79 void TrackMarkersReset();
87 void TrackMarkerAdd(
int id,
PointDouble corners[4]);
96 void SetMarkerSize(
double _edge_length = 1,
int _res = 5,
double _margin = 2);
102 void SetMarkerSizeForId(
unsigned long id,
double _edge_length = 1);
107 void SetOptions(
bool _detect_pose_grayscale=
false);
122 int Detect(IplImage *
image,
128 LabelingMethod labeling_method=CVSEQ,
129 bool update_pose=
true);
142 Marker*
new_M(
double _edge_length = 0,
int _res = 0,
double _margin = 0) {
143 return new M(_edge_length, _res, _margin);
155 std::vector<M, Eigen::aligned_allocator<M> > *tmp_markers = markers;
156 markers = track_markers;
157 track_markers = tmp_markers;
162 std::vector<M, Eigen::aligned_allocator<M> > *
markers;
167 markers =
new std::vector<M, Eigen::aligned_allocator<M> >;
168 track_markers =
new std::vector<M, Eigen::aligned_allocator<M> >;
174 delete track_markers;
double max_new_marker_error
std::map< unsigned long, double > map_edge_length
This file implements a parametrized line.
This file implements connected component labeling.
This file implements a camera used for projecting points and computing homographies.
Marker * _track_markers_at(size_t i)
This file implements a collection of functions that are used to visualize lines, contours and corners...
size_t _track_markers_size()
void _markers_push_back(Marker *mn)
Templateless version of MarkerDetector. Please use MarkerDetector instead.
bool detect_pose_grayscale
Simple Camera class for calculating distortions, orientation or projections with pre-calibrated camer...
std::vector< M, Eigen::aligned_allocator< M > > * markers
Base class for labeling connected components from binary image.
This file implements a parametrized rotation.
void _track_markers_clear()
MarkerDetector for detecting markers of type M
void _swap_marker_tables()
Basic 2D Marker functionality.
This file implements generic utility functions and a serialization interface.
void _track_markers_push_back(Marker *mn)
std::vector< M, Eigen::aligned_allocator< M > > * track_markers
ALVAR_EXPORT Point< CvPoint2D64f > PointDouble
The default double point type.
Marker * new_M(double _edge_length=0, int _res=0, double _margin=0)
This file implements a marker interface as well as ALVAR markers and ARToolKit markers.
This file defines library export definitions, version numbers and build information.