#include <TagDetection.h>
Public Member Functions | |
void | draw (cv::Mat &image) const |
Draw the detection within the supplied image, including boarders and tag ID. | |
Eigen::Matrix4d | getRelativeTransform (double tag_size, double fx, double fy, double px, double py) const |
Relative pose of tag with respect to the camera. | |
void | getRelativeTranslationRotation (double tag_size, double fx, double fy, double px, double py, Eigen::Vector3d &trans, Eigen::Matrix3d &rot) const |
Recover rotation matrix and translation vector of April tag relative to camera. | |
float | getXYOrientation () const |
Orientation in the xy plane. | |
std::pair< float, float > | interpolate (float x, float y) const |
Interpolate point given (x,y) is in tag coordinate space from (-1,-1) to (1,1). | |
bool | overlapsTooMuch (const TagDetection &other) const |
Used to eliminate redundant tags. | |
TagDetection () | |
Constructor. | |
TagDetection (int id) | |
Constructor for manually creating tags in a world map. | |
Public Attributes | |
long long | code |
Matched code. | |
std::pair< float, float > | cxy |
Center of tag in pixel coordinates. | |
bool | good |
Is the detection good enough? | |
int | hammingDistance |
The hamming distance between the detected code and the true code. | |
Eigen::Matrix3d | homography |
A 3x3 homography that computes pixel coordinates from tag-relative coordinates. | |
std::pair< float, float > | hxy |
The homography is relative to image center, whose coordinates are below. | |
int | id |
What was the ID of the detected tag? | |
long long | obsCode |
Observed code. | |
float | observedPerimeter |
Measured in pixels, how long was the observed perimeter. | |
std::pair< float, float > | p [4] |
int | rotation |
How many 90 degree rotations were required to align the code (internal use only) |
Definition at line 13 of file TagDetection.h.
Constructor.
Definition at line 21 of file TagDetection.cc.
AprilTags::TagDetection::TagDetection | ( | int | id | ) |
Constructor for manually creating tags in a world map.
Definition at line 27 of file TagDetection.cc.
void AprilTags::TagDetection::draw | ( | cv::Mat & | image | ) | const |
Draw the detection within the supplied image, including boarders and tag ID.
Definition at line 137 of file TagDetection.cc.
Eigen::Matrix4d AprilTags::TagDetection::getRelativeTransform | ( | double | tag_size, |
double | fx, | ||
double | fy, | ||
double | px, | ||
double | py | ||
) | const |
Relative pose of tag with respect to the camera.
Definition at line 76 of file TagDetection.cc.
void AprilTags::TagDetection::getRelativeTranslationRotation | ( | double | tag_size, |
double | fx, | ||
double | fy, | ||
double | px, | ||
double | py, | ||
Eigen::Vector3d & | trans, | ||
Eigen::Matrix3d & | rot | ||
) | const |
Recover rotation matrix and translation vector of April tag relative to camera.
Definition at line 114 of file TagDetection.cc.
float AprilTags::TagDetection::getXYOrientation | ( | ) | const |
Orientation in the xy plane.
Definition at line 33 of file TagDetection.cc.
std::pair< float, float > AprilTags::TagDetection::interpolate | ( | float | x, |
float | y | ||
) | const |
Interpolate point given (x,y) is in tag coordinate space from (-1,-1) to (1,1).
Definition at line 45 of file TagDetection.cc.
bool AprilTags::TagDetection::overlapsTooMuch | ( | const TagDetection & | other | ) | const |
Used to eliminate redundant tags.
Definition at line 54 of file TagDetection.cc.
long long AprilTags::TagDetection::code |
Matched code.
Definition at line 28 of file TagDetection.h.
std::pair<float,float> AprilTags::TagDetection::cxy |
Center of tag in pixel coordinates.
Definition at line 47 of file TagDetection.h.
Is the detection good enough?
Definition at line 22 of file TagDetection.h.
The hamming distance between the detected code and the true code.
Definition at line 34 of file TagDetection.h.
Eigen::Matrix3d AprilTags::TagDetection::homography |
A 3x3 homography that computes pixel coordinates from tag-relative coordinates.
Definition at line 59 of file TagDetection.h.
std::pair<float,float> AprilTags::TagDetection::hxy |
The homography is relative to image center, whose coordinates are below.
Definition at line 65 of file TagDetection.h.
What was the ID of the detected tag?
Definition at line 31 of file TagDetection.h.
long long AprilTags::TagDetection::obsCode |
Observed code.
Definition at line 25 of file TagDetection.h.
Measured in pixels, how long was the observed perimeter.
Observed perimeter excludes the inferred perimeter which is used to connect incomplete quads.
Definition at line 51 of file TagDetection.h.
std::pair<float,float> AprilTags::TagDetection::p[4] |
Fields below are filled in by TagDetector /////////////// Position (in fractional pixel coordinates) of the detection.
Definition at line 44 of file TagDetection.h.
How many 90 degree rotations were required to align the code (internal use only)
Definition at line 37 of file TagDetection.h.