Public Member Functions |
Static Public Member Functions |
Public Attributes |
Static Public Attributes |
Private Attributes

AprilTags::Quad Class Reference

Represents four segments that form a loop, and might be a tag. More...

`#include <Quad.h>`

## 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 |

Represents four segments that form a loop, and might be a tag.

AprilTags::Quad::Quad | ( | const std::vector< std::pair< float, float > > & | p, |

const std::pair< float, float > & | opticalCenter |
||

) |

std::pair< float, float > AprilTags::Quad::interpolate | ( | float | x, |

float | y |
||

) |

std::pair< float, float > AprilTags::Quad::interpolate01 | ( | float | x, |

float | y |
||

) |

void AprilTags::Quad::search | ( | const FloatImage & | fImage, |

std::vector< Segment * > & | path, |
||

Segment & | parent, |
||

int | depth, |
||

std::vector< Quad > & | quads, |
||

const std::pair< float, float > & | opticalCenter |
||

) | ` [static]` |

const float AprilTags::Quad::maxQuadAspectRatio = 32` [static]` |

const int AprilTags::Quad::minimumEdgeLength = 6` [static]` |

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.

Eigen::Vector2f AprilTags::Quad::p0` [private]` |

Eigen::Vector2f AprilTags::Quad::p01` [private]` |

Eigen::Vector2f AprilTags::Quad::p3` [private]` |

Eigen::Vector2f AprilTags::Quad::p32` [private]` |

std::vector< std::pair<float,float> > AprilTags::Quad::quadPoints |

std::vector<Segment*> AprilTags::Quad::segments |

The documentation for this class was generated from the following files: