![]() |
My Project
|
Version of MarkerDetector using external container. More...
#include <EC.h>
Public Member Functions | |
int | GetId (int marker_id, int corner_id, int first_id=0, int last_id=65535) |
template<typename T > | |
int | Detect (cv::Mat &image, Camera *cam, std::map< int, T > &container, int type_id=0, int first_id=0, int last_id=65535, bool track=false, bool visualize=false, double max_new_marker_error=0.08, double max_track_error=0.2, LabelingMethod labeling_method=CVSEQ) |
Detect markers in the image and fill in their 2D-positions in the given external container. | |
template<typename T > | |
void | MarkerToEC (std::map< int, T > &container, int marker_id, double edge_length, Pose &pose, int type_id=0, int first_id=0, int last_id=65535) |
Fill in 3D-coordinates for marker_id marker corners using edge_length and pose. | |
![]() | |
MarkerDetector () | |
~MarkerDetector () | |
![]() | |
void | TrackMarkersReset () |
Clear the markers that are tracked. | |
void | TrackMarkerAdd (int id, PointDouble corners[4]) |
Add markers to be tracked Sometimes application or e.g. the MultiMarker implementation knows more about marker locations. Then this method can be used after Detect to indicate where additional trackable markers could be found. The DetectAdditional is called for tracking these. | |
void | SetMarkerSize (double _edge_length=1, int _res=5, double _margin=2) |
void | SetMarkerSizeForId (unsigned long id, double _edge_length=1) |
void | SetOptions (bool _detect_pose_grayscale=false) |
int | Detect (cv::Mat &image, Camera *cam, bool track=false, bool visualize=false, double max_new_marker_error=0.08, double max_track_error=0.2, LabelingMethod labeling_method=CVSEQ, bool update_pose=true) |
Detect Marker 's from image More... | |
int | DetectAdditional (cv::Mat &image, Camera *cam, bool visualize=false, double max_track_error=0.2) |
Protected Member Functions | |
template<typename T > | |
bool | PreDetect (std::pair< const int, T > &p, int type_id) |
template<typename T > | |
bool | PreDetect (T &p, int type_id) |
![]() | |
Marker * | new_M (double _edge_length=0, int _res=0, double _margin=0) |
void | _markers_clear () |
void | _markers_push_back (Marker *mn) |
size_t | _markers_size () |
void | _track_markers_clear () |
void | _track_markers_push_back (Marker *mn) |
size_t | _track_markers_size () |
Marker * | _track_markers_at (size_t i) |
void | _swap_marker_tables () |
Additional Inherited Members | |
![]() | |
std::vector< M > * | markers |
std::vector< M > * | track_markers |
![]() | |
Labeling * | labeling |
std::map< unsigned long, double > | map_edge_length |
double | edge_length |
int | res |
double | margin |
bool | detect_pose_grayscale |
Version of MarkerDetector using external container.