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.