Public Types | |
typedef std::function< void(OSVR_ChannelCount, OSVR_Pose3 const &)> | PoseHandler |
Public Member Functions | |||||||||||||||||
VideoBasedTracker (ConfigParams const ¶ms=ConfigParams{}) | |||||||||||||||||
bool | processImage (cv::Mat frame, cv::Mat grayImage, OSVR_TimeValue const &tv, PoseHandler handler) | ||||||||||||||||
The main method that processes an image into tracked poses. More... | |||||||||||||||||
BeaconBasedPoseEstimator const & | getFirstEstimator () const | ||||||||||||||||
For debug purposes. | |||||||||||||||||
BeaconBasedPoseEstimator & | getFirstEstimator () | ||||||||||||||||
For debug purposes. | |||||||||||||||||
Sensor addition methods | |||||||||||||||||
Adds a sensor, given an LedIdentifier and parameters to create a pose estimator.
| |||||||||||||||||
void | addSensor (LedIdentifierPtr &&identifier, CameraParameters const &camParams, Point3Vector const &locations, Vec3Vector const &emissionDirection, double variance, BeaconIDPredicate const &autocalibrationFixedPredicate=getDefaultBeaconFixedPredicate(), size_t requiredInliers=4, size_t permittedOutliers=2) | ||||||||||||||||
void | addSensor (LedIdentifierPtr &&identifier, CameraParameters const &camParams, Point3Vector const &locations, Vec3Vector const &emissionDirection, BeaconIDPredicate const &autocalibrationFixedPredicate, size_t requiredInliers=4, size_t permittedOutliers=2) | ||||||||||||||||
void | addSensor (LedIdentifierPtr &&identifier, CameraParameters const &camParams, Point3Vector const &locations, Vec3Vector const &emissionDirection, std::vector< double > const &variance=std::vector< double >{}, BeaconIDPredicate const &autocalibrationFixedPredicate=getDefaultBeaconFixedPredicate(), size_t requiredInliers=4, size_t permittedOutliers=2, double beaconAutocalibErrorScale=1) | ||||||||||||||||
Static Public Member Functions | |
static BeaconIDPredicate | getDefaultBeaconFixedPredicate () |
Definition at line 53 of file VideoBasedTracker.h.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
For those who want the default variance but want to provide an autocalibration fixed predicate or more.
Definition at line 99 of file VideoBasedTracker.h.
void osvr::vbtracker::VideoBasedTracker::addSensor | ( | LedIdentifierPtr && | identifier, |
CameraParameters const & | camParams, | ||
Point3Vector const & | locations, | ||
Vec3Vector const & | emissionDirection, | ||
std::vector< double > const & | variance = std::vector<double>{} , |
||
BeaconIDPredicate const & | autocalibrationFixedPredicate = getDefaultBeaconFixedPredicate() , |
||
size_t | requiredInliers = 4 , |
||
size_t | permittedOutliers = 2 , |
||
double | beaconAutocalibErrorScale = 1 |
||
) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Takes a vector of default measurement variances, one per beacon. By default (if empty) a default overall base measurement variance is used. If only a single entry is in the vector, it is used for every beacon.
(This is actually the one that does the work.)
Definition at line 64 of file VideoBasedTracker.cpp.
bool osvr::vbtracker::VideoBasedTracker::processImage | ( | cv::Mat | frame, |
cv::Mat | grayImage, | ||
OSVR_TimeValue const & | tv, | ||
PoseHandler | handler | ||
) |
The main method that processes an image into tracked poses.
Perform the undistortion of keypoints
Definition at line 132 of file VideoBasedTracker.cpp.