OSVR-Core
|
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) | ||||||||||||||||
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. More... | |||||||||||||||||
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) | ||||||||||||||||
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. More... | |||||||||||||||||
Static Public Member Functions | |
static BeaconIDPredicate | getDefaultBeaconFixedPredicate () |
|
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.
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.)
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