gramods
Loading...
Searching...
No Matches
ArucoPoseTracker.hh
1
2#ifndef GRAMODS_TRACK_ARUCOPOSETRACKER
3#define GRAMODS_TRACK_ARUCOPOSETRACKER
4
5#include <gmTrack/config.hh>
6
7#ifdef gramods_ENABLE_OpenCV_objdetect
8
9#include <gmCore/OFactory.hh>
10#include <gmCore/Updateable.hh>
11
12#include <gmTrack/MultiPoseTracker.hh>
13
14#include <gmTrack/ArucoBoard.hh>
15#include <gmTrack/OpenCvVideoCapture.hh>
16
17BEGIN_NAMESPACE_GMTRACK;
18
27 : public MultiPoseTracker,
28 public gmCore::Updateable {
29
30public:
31
33
37 void update(gmCore::Updateable::clock::time_point time, size_t frame);
38
39 //void setCornerRefineMethod(std::string m);
40 //void setCornerRefineMethod(cv::aruco::CornerRefineMethod m);
41 //void setDetectorParameters(cv::aruco::DetectorParameters params);
42 //void setDetectorParametersFile(std::string file);
43 //void setCameraParameters(cv::InputArray cameraMatrix cameraMatrix, cv::InputArray distCoeffs);
44 //void setCameraParametersFile(std::string file);
45
51 void addArucoBoard(std::shared_ptr<ArucoBoard> board);
52
58 void setVideoSource(std::shared_ptr<OpenCvVideoCapture> vs);
59
67 void setInverted(bool on);
68
77 void setShowDebug(bool on);
78
85 void setRefindMarkers(bool on);
86
92 void setCameraConfigurationFile(std::filesystem::path file);
93
97 bool getPose(std::map<int, PoseSample> &p) override;
98
104 void traverse(Visitor *visitor) override;
105
106 GM_OFI_DECLARE;
107
108private:
109
110 struct Impl;
111 std::unique_ptr<Impl> _impl;
112};
113
114END_NAMESPACE_GMTRACK;
115
116#endif
117
118#endif
The Updateable class defines an interface for objects that may be updated, for example each execution...
Definition Updateable.hh:18
Pose tracker that tracks pose using feducial markers.
Definition ArucoPoseTracker.hh:28
The base of MultiPoseTrackers.
Definition MultiPoseTracker.hh:15
The visitor of a design pattern for automatic traversal.
Definition Object.hh:75
Definition ArucoPoseTracker.cpp:23