#include "apriltag.h"
#include <math.h>
#include <assert.h>
#include <stdint.h>
#include <string.h>
#include <stdio.h>
#include <inttypes.h>
#include <sys/time.h>
#include "common/image_u8.h"
#include "common/image_u8x3.h"
#include "common/zhash.h"
#include "common/zarray.h"
#include "common/matd.h"
#include "common/homography.h"
#include "common/timeprofile.h"
#include "common/math_util.h"
#include "common/g2d.h"
#include "common/floats.h"
#include "apriltag_math.h"
#include "common/postscript_utils.h"
Go to the source code of this file.
Classes | |
struct | evaluate_quad_ret |
struct | graymodel |
struct | quad_decode_task |
struct | quick_decode |
struct | quick_decode_entry |
Macros | |
#define | M_PI 3.141592653589793238462643383279502884196 |
#define M_PI 3.141592653589793238462643383279502884196 |
Definition at line 59 of file apriltag.c.
void apriltag_detection_destroy | ( | apriltag_detection_t * | det | ) |
Definition at line 1071 of file apriltag.c.
void apriltag_detections_destroy | ( | zarray_t * | detections | ) |
Definition at line 1493 of file apriltag.c.
void apriltag_detector_add_family_bits | ( | apriltag_detector_t * | td, |
apriltag_family_t * | fam, | ||
int | bits_corrected | ||
) |
Definition at line 330 of file apriltag.c.
void apriltag_detector_clear_families | ( | apriltag_detector_t * | td | ) |
Definition at line 338 of file apriltag.c.
apriltag_detector_t* apriltag_detector_create | ( | ) |
Definition at line 348 of file apriltag.c.
void apriltag_detector_destroy | ( | apriltag_detector_t * | td | ) |
Definition at line 382 of file apriltag.c.
zarray_t* apriltag_detector_detect | ( | apriltag_detector_t * | td, |
image_u8_t * | im_orig | ||
) |
Definition at line 1094 of file apriltag.c.
void apriltag_detector_remove_family | ( | apriltag_detector_t * | td, |
apriltag_family_t * | fam | ||
) |
Definition at line 324 of file apriltag.c.
zarray_t* apriltag_quad_gradient | ( | apriltag_detector_t * | td, |
image_u8_t * | im | ||
) |
zarray_t* apriltag_quad_thresh | ( | apriltag_detector_t * | td, |
image_u8_t * | im | ||
) |
Definition at line 1510 of file apriltag_quad_thresh.c.
image_u8_t* apriltag_to_image | ( | apriltag_family_t * | fam, |
int | idx | ||
) |
Definition at line 1505 of file apriltag.c.
|
inlinestatic |
Definition at line 316 of file apriltag.c.
void graymodel_add | ( | struct graymodel * | gm, |
double | x, | ||
double | y, | ||
double | gray | ||
) |
Definition at line 85 of file apriltag.c.
void graymodel_init | ( | struct graymodel * | gm | ) |
Definition at line 80 of file apriltag.c.
double graymodel_interpolate | ( | struct graymodel * | gm, |
double | x, | ||
double | y | ||
) |
Definition at line 106 of file apriltag.c.
void graymodel_solve | ( | struct graymodel * | gm | ) |
Definition at line 101 of file apriltag.c.
double optimize_quad_generic | ( | apriltag_family_t * | family, |
image_u8_t * | im, | ||
struct quad * | quad0, | ||
float * | stepsizes, | ||
int | nstepsizes, | ||
double(*)(apriltag_family_t *family, image_u8_t *im, struct quad *quad, void *user) | score, | ||
void * | user | ||
) |
Definition at line 741 of file apriltag.c.
int prefer_smaller | ( | int | pref, |
double | q0, | ||
double | q1 | ||
) |
Definition at line 1080 of file apriltag.c.
Definition at line 161 of file apriltag.c.
float quad_decode | ( | apriltag_family_t * | family, |
image_u8_t * | im, | ||
struct quad * | quad, | ||
struct quick_decode_entry * | entry, | ||
image_u8_t * | im_samples | ||
) |
Definition at line 567 of file apriltag.c.
|
static |
Definition at line 958 of file apriltag.c.
void quad_destroy | ( | struct quad * | quad | ) |
Definition at line 151 of file apriltag.c.
double quad_goodness | ( | apriltag_family_t * | family, |
image_u8_t * | im, | ||
struct quad * | quad | ||
) |
Definition at line 456 of file apriltag.c.
int quad_update_homographies | ( | struct quad * | quad | ) |
Definition at line 416 of file apriltag.c.
void quick_decode_add | ( | struct quick_decode * | qd, |
uint64_t | code, | ||
int | id, | ||
int | hamming | ||
) |
Definition at line 172 of file apriltag.c.
|
static |
Definition at line 289 of file apriltag.c.
void quick_decode_init | ( | apriltag_family_t * | family, |
int | maxhamming | ||
) |
Definition at line 196 of file apriltag.c.
void quick_decode_uninit | ( | apriltag_family_t * | fam | ) |
Definition at line 185 of file apriltag.c.
|
static |
Definition at line 816 of file apriltag.c.
|
static |
if the bits in w were arranged in a d*d grid and that grid was rotated, what would the new bits in w be? The bits are organized like this (for d = 3):
8 7 6 2 5 8 0 1 2 5 4 3 ==> 1 4 7 ==> 3 4 5 (rotate90 applied twice) 2 1 0 0 3 6 6 7 8
Definition at line 133 of file apriltag.c.
double score_decodability | ( | apriltag_family_t * | family, |
image_u8_t * | im, | ||
struct quad * | quad, | ||
void * | user | ||
) |
Definition at line 730 of file apriltag.c.
double score_goodness | ( | apriltag_family_t * | family, |
image_u8_t * | im, | ||
struct quad * | quad, | ||
void * | user | ||
) |
Definition at line 725 of file apriltag.c.