#include <math.h>
#include <assert.h>
#include <string.h>
#include <stdio.h>
#include <stdint.h>
#include "apriltag.h"
#include "common/image_u8x3.h"
#include "common/zarray.h"
#include "common/zhash.h"
#include "common/unionfind.h"
#include "common/timeprofile.h"
#include "common/zmaxheap.h"
#include "common/postscript_utils.h"
#include "common/math_util.h"
Go to the source code of this file.
Classes | |
struct | line_fit_pt |
struct | pt |
struct | quad_task |
struct | remove_vertex |
struct | segment |
struct | uint64_zarray_entry |
struct | unionfind_task |
Macros | |
#define | ASSOC 2 |
#define | DO_CONN(dx, dy) |
#define | DO_UNIONFIND(dx, dy) if (im->buf[y*s + dy*s + x + dx] == v) unionfind_connect(uf, y*w + x, y*w + dy*w + x + dx); |
#define | M_PI 3.141592653589793238462643383279502884196 |
#define | MAYBE_SWAP(arr, apos, bpos) |
#define | MERGE(apos, bpos) |
Functions | |
zarray_t * | apriltag_quad_thresh (apriltag_detector_t *td, image_u8_t *im) |
static void | do_quad_task (void *p) |
static void | do_unionfind_line (unionfind_t *uf, image_u8_t *im, int h, int w, int s, int y) |
static void | do_unionfind_task (void *p) |
int | err_compare_descending (const void *_a, const void *_b) |
void | fit_line (struct line_fit_pt *lfps, int sz, int i0, int i1, double *lineparm, double *err, double *mse) |
int | fit_quad (apriltag_detector_t *td, image_u8_t *im, zarray_t *cluster, struct quad *quad) |
int | pt_compare_theta (const void *_a, const void *_b) |
static void | ptsort (struct pt *pts, int sz) |
int | quad_segment_agg (apriltag_detector_t *td, zarray_t *cluster, struct line_fit_pt *lfps, int indices[4]) |
int | quad_segment_maxima (apriltag_detector_t *td, zarray_t *cluster, struct line_fit_pt *lfps, int indices[4]) |
image_u8_t * | threshold (apriltag_detector_t *td, image_u8_t *im) |
image_u8_t * | threshold_bayer (apriltag_detector_t *td, image_u8_t *im) |
static uint32_t | u64hash_2 (uint64_t x) |
#define ASSOC 2 |
#define DO_CONN | ( | dx, | |
dy | |||
) |
#define DO_UNIONFIND | ( | dx, | |
dy | |||
) | if (im->buf[y*s + dy*s + x + dx] == v) unionfind_connect(uf, y*w + x, y*w + dy*w + x + dx); |
Definition at line 1093 of file apriltag_quad_thresh.c.
#define M_PI 3.141592653589793238462643383279502884196 |
Definition at line 66 of file apriltag_quad_thresh.c.
#define MAYBE_SWAP | ( | arr, | |
apos, | |||
bpos | |||
) |
#define MERGE | ( | apos, | |
bpos | |||
) |
zarray_t* apriltag_quad_thresh | ( | apriltag_detector_t * | td, |
image_u8_t * | im | ||
) |
Definition at line 1510 of file apriltag_quad_thresh.c.
|
static |
Definition at line 1128 of file apriltag_quad_thresh.c.
|
static |
Definition at line 1095 of file apriltag_quad_thresh.c.
|
static |
Definition at line 1119 of file apriltag_quad_thresh.c.
int err_compare_descending | ( | const void * | _a, |
const void * | _b | ||
) |
Definition at line 366 of file apriltag_quad_thresh.c.
void fit_line | ( | struct line_fit_pt * | lfps, |
int | sz, | ||
int | i0, | ||
int | i1, | ||
double * | lineparm, | ||
double * | err, | ||
double * | mse | ||
) |
Definition at line 232 of file apriltag_quad_thresh.c.
int fit_quad | ( | apriltag_detector_t * | td, |
image_u8_t * | im, | ||
zarray_t * | cluster, | ||
struct quad * | quad | ||
) |
Definition at line 677 of file apriltag_quad_thresh.c.
int pt_compare_theta | ( | const void * | _a, |
const void * | _b | ||
) |
Definition at line 358 of file apriltag_quad_thresh.c.
|
inlinestatic |
Definition at line 120 of file apriltag_quad_thresh.c.
int quad_segment_agg | ( | apriltag_detector_t * | td, |
zarray_t * | cluster, | ||
struct line_fit_pt * | lfps, | ||
int | indices[4] | ||
) |
Definition at line 566 of file apriltag_quad_thresh.c.
int quad_segment_maxima | ( | apriltag_detector_t * | td, |
zarray_t * | cluster, | ||
struct line_fit_pt * | lfps, | ||
int | indices[4] | ||
) |
Definition at line 390 of file apriltag_quad_thresh.c.
image_u8_t* threshold | ( | apriltag_detector_t * | td, |
image_u8_t * | im | ||
) |
Definition at line 1167 of file apriltag_quad_thresh.c.
image_u8_t* threshold_bayer | ( | apriltag_detector_t * | td, |
image_u8_t * | im | ||
) |
Definition at line 1394 of file apriltag_quad_thresh.c.
|
inlinestatic |
Definition at line 52 of file apriltag_quad_thresh.c.