Represents four segments that form a loop, and might be a tag.
More...
#include <Quad.h>
List of all members.
Public Member Functions |
std::pair< float, float > | interpolate (float x, float y) |
| Interpolate given that the lower left corner of the lower left cell is at (-1,-1) and the upper right corner of the upper right cell is at (1,1).
|
std::pair< float, float > | interpolate01 (float x, float y) |
| Same as interpolate, except that the coordinates are interpreted between 0 and 1, instead of -1 and 1.
|
| Quad (const std::vector< std::pair< float, float > > &p, const std::pair< float, float > &opticalCenter) |
| Constructor.
|
Static Public Member Functions |
static void | search (const FloatImage &fImage, std::vector< Segment * > &path, Segment &parent, int depth, std::vector< Quad > &quads, const std::pair< float, float > &opticalCenter) |
| Searches through a vector of Segments to form Quads.
|
Public Attributes |
Homography33 | homography |
| Given that the whole quad spans from (0,0) to (1,1) in "quad space", compute the pixel coordinates for a given point within that quad.
|
float | observedPerimeter |
| Total length (in pixels) of the actual perimeter observed for the quad.
|
std::vector< std::pair< float,
float > > | quadPoints |
| Points for the quad (in pixel coordinates), in counter clockwise order. These points are the intersections of segments.
|
std::vector< Segment * > | segments |
| Segments composing this quad.
|
Static Public Attributes |
static float const | maxQuadAspectRatio = 32 |
| Early pruning of quads with insane ratios.
|
static const int | minimumEdgeLength = 6 |
| Minimum size of a tag (in pixels) as measured along edges and diagonals.
|
Private Attributes |
Eigen::Vector2f | p0 |
Eigen::Vector2f | p01 |
Eigen::Vector2f | p3 |
Eigen::Vector2f | p32 |
Detailed Description
Represents four segments that form a loop, and might be a tag.
Definition at line 20 of file Quad.h.
Constructor & Destructor Documentation
AprilTags::Quad::Quad |
( |
const std::vector< std::pair< float, float > > & |
p, |
|
|
const std::pair< float, float > & |
opticalCenter |
|
) |
| |
Constructor.
(x,y) are the optical center of the camera, which is needed to correctly compute the homography.
Definition at line 13 of file Quad.cc.
Member Function Documentation
Interpolate given that the lower left corner of the lower left cell is at (-1,-1) and the upper right corner of the upper right cell is at (1,1).
Definition at line 37 of file Quad.cc.
Same as interpolate, except that the coordinates are interpreted between 0 and 1, instead of -1 and 1.
Definition at line 48 of file Quad.cc.
Searches through a vector of Segments to form Quads.
Definition at line 52 of file Quad.cc.
Member Data Documentation
Given that the whole quad spans from (0,0) to (1,1) in "quad space", compute the pixel coordinates for a given point within that quad.
Note that for most of the Quad's existence, we will not know the correct orientation of the tag.
Definition at line 51 of file Quad.h.
Early pruning of quads with insane ratios.
Definition at line 23 of file Quad.h.
Minimum size of a tag (in pixels) as measured along edges and diagonals.
Definition at line 22 of file Quad.h.
Total length (in pixels) of the actual perimeter observed for the quad.
This is in contrast to the geometric perimeter, some of which may not have been directly observed but rather inferred by intersecting segments. Quads with more observed perimeter are preferred over others.
Definition at line 47 of file Quad.h.
Points for the quad (in pixel coordinates), in counter clockwise order. These points are the intersections of segments.
Definition at line 37 of file Quad.h.
Segments composing this quad.
Definition at line 40 of file Quad.h.
The documentation for this class was generated from the following files: