Crate apriltag_sys

Crate apriltag_sys 

Source

Structs§

apriltag_detection
apriltag_detection_info_t
apriltag_detector
apriltag_family
apriltag_pose_t
This struct holds the transformation from the camera optical frame to the April tag frame. The pose refers to the position of the tag within the camera frame.
apriltag_quad_thresh_params
image_f32
image_u8
image_u8_lut
image_u8x3
image_u8x4
matd_chol_t
matd_plu_t
matd_svd_t
matd_t
Defines a matrix structure for holding double-precision values with data in row-major order (i.e. index = row*ncols + col).
timeprofile
workerpool
zarray

Functions§

apriltag_detection_destroy
apriltag_detections_destroy
apriltag_detector_add_family_bits
apriltag_detector_clear_families
apriltag_detector_create
apriltag_detector_destroy
apriltag_detector_detect
apriltag_detector_remove_family
apriltag_to_image
estimate_pose_for_tag_homography
Estimate pose of the tag using the homography method described in [1]. @outparam pose
estimate_tag_pose
Estimate tag pose. This method is an easier to use interface to estimate_tag_pose_orthogonal_iteration.
estimate_tag_pose_orthogonal_iteration
Estimate pose of the tag. This returns one or two possible poses for the tag, along with the object-space error of each.
image_u8_clear
image_u8_convolve_2D
image_u8_copy
image_u8_create
image_u8_create_alignment
image_u8_create_from_f32
image_u8_create_from_pnm
image_u8_create_from_pnm_alignment
image_u8_create_stride
image_u8_darken
image_u8_decimate
image_u8_destroy
image_u8_draw_annulus
image_u8_draw_circle
image_u8_draw_line
image_u8_fill_line_max
image_u8_gaussian_blur
image_u8_rotate
image_u8_write_pnm
matd_add
Adds the two supplied matrices together, cell-by-cell, and returns the results as a new matrix of the same dimensions. The supplied matrices must have identical dimensions. It is the caller’s responsibility to call matd_destroy() on the returned matrix.
matd_add_inplace
Adds the values of ‘b’ to matrix ‘a’, cell-by-cell, and overwrites the contents of ‘a’ with the results. The supplied matrices must have identical dimensions.
matd_chol
matd_chol_destroy
matd_chol_inverse
matd_chol_solve
matd_copy
Creates an exact copy of the supplied matrix ‘m’. It is the caller’s responsibility to call matd_destroy() on the returned matrix.
matd_create
Creates a double matrix with the given number of rows and columns (or a scalar in the case where rows=0 and/or cols=0). All data elements will be initialized to zero. It is the caller’s responsibility to call matd_destroy() on the returned matrix.
matd_create_data
Creates a double matrix with the given number of rows and columns (or a scalar in the case where rows=0 and/or cols=0). All data elements will be initialized using the supplied array of data, which must contain at least rowscols elements, arranged in row-major order (i.e. index = rowncols + col). It is the caller’s responsibility to call matd_destroy() on the returned matrix.
matd_create_dataf
Creates a double matrix with the given number of rows and columns (or a scalar in the case where rows=0 and/or cols=0). All data elements will be initialized using the supplied array of float data, which must contain at least rowscols elements, arranged in row-major order (i.e. index = rowncols + col). It is the caller’s responsibility to call matd_destroy() on the returned matrix.
matd_create_scalar
Creates a scalar with the supplied value ‘v’. It is the caller’s responsibility to call matd_destroy() on the returned matrix.
matd_crossproduct
Calculates the cross product of supplied matrices ‘a’ and ‘b’ (i.e. a x b) and returns it as a new matrix. Both ‘a’ and ‘b’ must be vectors of dimension 3, but can be either row or column vectors. It is the caller’s responsibility to call matd_destroy() on the returned matrix.
matd_destroy
Frees the memory associated with matrix ‘m’, being the result of an earlier call to a matd_*() function, after which ‘m’ will no longer be usable.
matd_det
Calculates the determinant of the supplied matrix ‘a’.
matd_err_inf
matd_get
Retrieves the cell value for matrix ‘m’ at the given zero-based row and column index. Performs more thorough validation checking than MATD_EL().
matd_get_scalar
Retrieves the scalar value of the given element (‘m’ must be a scalar). Performs more thorough validation checking than MATD_EL().
matd_identity
Creates a square identity matrix with the given number of rows (and therefore columns), or a scalar with value 1 in the case where dim=0. It is the caller’s responsibility to call matd_destroy() on the returned matrix.
matd_inverse
Attempts to compute an inverse of the supplied matrix ‘a’ and return it as a new matrix. This is strictly only possible if the determinant of ‘a’ is non-zero (matd_det(a) != 0).
matd_ltransposetriangle_solve
matd_ltriangle_solve
matd_max
matd_multiply
Multiplies the two supplied matrices together (matrix product), and returns the results as a new matrix. The supplied matrices must have dimensions such that columns(a) = rows(b). The returned matrix will have a row count of rows(a) and a column count of columns(b). It is the caller’s responsibility to call matd_destroy() on the returned matrix.
matd_op
Creates a new matrix by applying a series of matrix operations, as expressed in ‘expr’, to the supplied list of matrices. Each matrix to be operated upon must be represented in the expression by a separate matrix placeholder, ‘M’, and there must be one matrix supplied as an argument for each matrix placeholder in the expression. All rules and caveats of the corresponding matrix operations apply to the operated-on matrices. It is the caller’s responsibility to call matd_destroy() on the returned matrix.
matd_plu
matd_plu_destroy
matd_plu_det
matd_plu_l
matd_plu_p
matd_plu_solve
matd_plu_u
matd_print
Prints the supplied matrix ‘m’ to standard output by applying the supplied printf format specifier ‘fmt’ for each individual element. Each row will be printed on a separate newline.
matd_print_transpose
Prints the transpose of the supplied matrix ‘m’ to standard output by applying the supplied printf format specifier ‘fmt’ for each individual element. Each row will be printed on a separate newline.
matd_put
Assigns the given value to the matrix cell at the given zero-based row and column index. Performs more thorough validation checking than MATD_EL().
matd_put_scalar
Assigns the given value to the supplied scalar element (‘m’ must be a scalar). Performs more thorough validation checking than MATD_EL().
matd_scale
Scales all cell values of matrix ‘a’ by the given scale factor ‘s’ and returns the result as a new matrix of the same dimensions. It is the caller’s responsibility to call matd_destroy() on the returned matrix.
matd_scale_inplace
Scales all cell values of matrix ‘a’ by the given scale factor ‘s’ and overwrites the contents of ‘a’ with the results.
matd_select
Creates a copy of a subset of the supplied matrix ‘a’. The subset will include rows ‘r0’ through ‘r1’, inclusive (‘r1’ >= ‘r0’), and columns ‘c0’ through ‘c1’, inclusive (‘c1’ >= ‘c0’). All parameters are zero-based (i.e. matd_select(a, 0, 0, 0, 0) will return only the first cell). Cannot be used on scalars or to extend beyond the number of rows/columns of ‘a’. It is the caller’s responsibility to call matd_destroy() on the returned matrix.
matd_solve
matd_subtract
Subtracts matrix ‘b’ from matrix ‘a’, cell-by-cell, and returns the results as a new matrix of the same dimensions. The supplied matrices must have identical dimensions. It is the caller’s responsibility to call matd_destroy() on the returned matrix.
matd_subtract_inplace
Subtracts the values of ‘b’ from matrix ‘a’, cell-by-cell, and overwrites the contents of ‘a’ with the results. The supplied matrices must have identical dimensions.
matd_svd
Compute a complete SVD of a matrix. The SVD exists for all matrices. For a matrix MxN, we will have:
matd_svd_flags
matd_transpose
Creates a matrix which is the transpose of the supplied matrix ‘a’. It is the caller’s responsibility to call matd_destroy() on the returned matrix.
matd_utriangle_solve
matd_vec_dist
Calculates the magnitude of the distance between the points represented by matrices ‘a’ and ‘b’. Both ‘a’ and ‘b’ must be vectors and have the same dimension (although one may be a row vector and one may be a column vector).
matd_vec_dist_n
Same as matd_vec_dist, but only uses the first ‘n’ terms to compute distance
matd_vec_dot_product
Calculates the dot product of two vectors. Both ‘a’ and ‘b’ must be vectors and have the same dimension (although one may be a row vector and one may be a column vector).
matd_vec_mag
Calculates the magnitude of the supplied matrix ‘a’.
matd_vec_normalize
Calculates the normalization of the supplied vector ‘a’ (i.e. a unit vector of the same dimension and orientation as ‘a’ with a magnitude of 1) and returns it as a new vector. ‘a’ must be a vector of any dimension and must have a non-zero magnitude. It is the caller’s responsibility to call matd_destroy() on the returned matrix.
tag16h5_create
tag16h5_destroy
tag25h9_create
tag25h9_destroy
tag36h11_create
tag36h11_destroy
tagCircle21h7_create
tagCircle21h7_destroy
tagCircle49h12_create
tagCircle49h12_destroy
tagCustom48h12_create
tagCustom48h12_destroy
tagStandard41h12_create
tagStandard41h12_destroy
tagStandard52h13_create
tagStandard52h13_destroy
zarray_vmap
Calls the supplied function for every element in the array in index order. HOWEVER values are passed to the function, not pointers to values. In the case where the zarray stores object pointers, zarray_vmap allows you to pass in the object’s destroy function (or free) directly. Can only be used with zarray’s which contain pointer data. The map function should have the following format:

Type Aliases§

apriltag_detection_t
apriltag_detector_t
apriltag_family_t
image_f32_t
image_u8_lut_t
image_u8_t
image_u8x3_t
image_u8x4_t
pthread_mutex_t
timeprofile_t
workerpool_t
zarray_t
Defines a structure which acts as a resize-able array ala Java’s ArrayList.