#include <assert.h>
#include <sys/time.h>
#include "CRC.hpp"
#include "CV.hpp"
#include "File.hpp"
#include "FEC.hpp"
#include "String.hpp"
#include "Location.hpp"
Go to the source code of this file.
Classes | |
struct | Fiducials__Struct |
struct | Fiducials_Create__Struct |
struct | Fiducials_Results__Struct |
Typedefs | |
typedef struct Fiducials__Struct * | Fiducials |
typedef struct Fiducials_Create__Struct * | Fiducials_Create |
typedef void(* | Fiducials_Fiducial_Announce_Routine) (void *announce_object, int id, int direction, double world_diagonal, double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4) |
typedef struct Fiducials_Results__Struct * | Fiducials_Results |
typedef bool | Mapping[64] |
typedef struct timeval * | Time_Value |
Functions | |
Fiducials | Fiducials__create (CV_Image original_image, Fiducials_Create fiducials_create) |
Create and return a Fiducials object. More... | |
void | Fiducials__free (Fiducials fiduicals) |
will release the storage associated with fiducials. More... | |
void | Fiducials__image_set (Fiducials fiducials, CV_Image image) |
Sets the original image for *fiducials. More... | |
void | Fiducials__image_show (Fiducials fiducials, bool show) |
Is a HighGUI interface to show the current image. More... | |
int | Fiducials__point_sample (Fiducials fiducials, CV_Point2D32F point) |
Helper routine to sample a point from the image in fiducials. More... | |
int | Fiducials__points_maximum (Fiducials fiducials, CV_Point2D32F_Vector points, unsigned int start_index, unsigned int end_index) |
Return the maximum value of the points in points. More... | |
int | Fiducials__points_minimum (Fiducials fiducials, CV_Point2D32F_Vector points, unsigned int start_index, unsigned int end_index) |
Return the minimum value of the points in points. More... | |
Fiducials_Results | Fiducials__process (Fiducials fiducials) |
Process the current image associated with fiducials. More... | |
CV_Point2D32F_Vector | Fiducials__references_compute (Fiducials fiducials, CV_Point2D32F_Vector corners) |
Return 8 sample locations to determine if a quadralateral is worth testing for quadralateral'ness. More... | |
void | Fiducials__sample_points_compute (CV_Point2D32F_Vector corners, CV_Point2D32F_Vector sample_points) |
Compute the fiducial locations to sample using corners More... | |
void | Fiducials__sample_points_helper (String_Const label, CV_Point2D32F corner, CV_Point2D32F sample_point) |
Fiducials_Create | Fiducials_Create__one_and_only (void) |
Returns the one and only Fiducials_Create object. More... | |
typedef struct Fiducials__Struct* Fiducials |
Definition at line 6 of file Fiducials.hpp.
typedef struct Fiducials_Create__Struct* Fiducials_Create |
Definition at line 7 of file Fiducials.hpp.
typedef void(* Fiducials_Fiducial_Announce_Routine) (void *announce_object, int id, int direction, double world_diagonal, double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4) |
Definition at line 13 of file Fiducials.hpp.
typedef struct Fiducials_Results__Struct* Fiducials_Results |
Definition at line 8 of file Fiducials.hpp.
typedef bool Mapping[64] |
Definition at line 27 of file Fiducials.hpp.
typedef struct timeval* Time_Value |
Definition at line 30 of file Fiducials.hpp.
Fiducials Fiducials__create | ( | CV_Image | original_image, |
Fiducials_Create | fiducials_create | ||
) |
Create and return a Fiducials object.
original_image | is the image to start with. |
fiducials_create | is a Fiducials_Create object that specifies the various features to enable or disable. |
Fiducials__create() creates and returns a Fiducials object using the values in fiduicials_create.
Definition at line 556 of file Fiducials.cpp.
void Fiducials__free | ( | Fiducials | fiducials | ) |
will release the storage associated with fiducials.
fiducials | is the Fiducials object to release. |
Fiducials__free() releases the storage associated with fiducials.
Definition at line 713 of file Fiducials.cpp.
Sets the original image for *fiducials.
fiducials | is the Fiducials object to use. |
image | is the new image to use as the original image. |
Fiducials__image_set() will set the original image for fiducials to image.
Definition at line 427 of file Fiducials.cpp.
void Fiducials__image_show | ( | Fiducials | fiducials, |
bool | show | ||
) |
Is a HighGUI interface to show the current image.
fiducials | is the Fiducials object that contains the image. |
show | is true to force the HighGUI interface to activate. |
Fiducials__image_show() will cause an image to be shown with at each of the various stages of the recognition cycle. This only occurs if show is true.
The character commands are:
Definition at line 451 of file Fiducials.cpp.
int Fiducials__point_sample | ( | Fiducials | fiducials, |
CV_Point2D32F | point | ||
) |
Helper routine to sample a point from the image in fiducials.
fiducials | is the Fiducials object that contains the image. |
point | is the point location to sample. |
Fiducials__point_sample() will return a weighted sample value for point in the image associated with fiducials. The weight algorithm is controlled by the weights_index field of fiducials. The returned value is between 0 (black) to 255 (white).
Definition at line 1145 of file Fiducials.cpp.
int Fiducials__points_maximum | ( | Fiducials | fiducials, |
CV_Point2D32F_Vector | points, | ||
unsigned int | start_index, | ||
unsigned int | end_index | ||
) |
Return the maximum value of the points in points.
fiducials | is the Fiducials object that contains the image. |
points | is the vector of points to sample. |
start_index | is the first index to start with. |
end_index | is the last index to end with. |
Fiducials__points_maximum() will sweep from start_index to end_index through points. Using each selected point in points}, the corresponding value in image is sampled. The minimum of the sampled point is returned.
Definition at line 1386 of file Fiducials.cpp.
int Fiducials__points_minimum | ( | Fiducials | fiducials, |
CV_Point2D32F_Vector | points, | ||
unsigned int | start_index, | ||
unsigned int | end_index | ||
) |
Return the minimum value of the points in points.
fiducials | is the Fiducials object that contains the image. |
points | is the vector of points to sample. |
start_index | is the first index to start with. |
end_index | is the last index to end with. |
Fiducials__points_minimum() will sweep from start_index to end_index through points. Using each selected point in points}, the corresponding value in image is sampled. The minimum of the sampled point is returned.
Definition at line 1418 of file Fiducials.cpp.
Fiducials_Results Fiducials__process | ( | Fiducials | fiducials | ) |
Process the current image associated with fiducials.
fiducials | is the Fiducials object to use. |
Fiducials__process() will process fiducials to determine the robot location.
Definition at line 748 of file Fiducials.cpp.
CV_Point2D32F_Vector Fiducials__references_compute | ( | Fiducials | fiducials, |
CV_Point2D32F_Vector | corners | ||
) |
Return 8 sample locations to determine if a quadralateral is worth testing for quadralateral'ness.
fiducials | is the Fiducals object that contains the image. |
corners | is the 4 potential fiducial corners. |
Fiducials__references_compute() 4 corner points in corners to compute 8 reference points that are returned. The first 4 reference points will be just outside of the quadrateral formed by corners (i.e. the white bounding box) and the last 4 reference points are on the inside (i.e. the black bounding box). The returned vector is perminately allocated in fiducials, so it does not need to have it storage released.
Definition at line 1295 of file Fiducials.cpp.
void Fiducials__sample_points_compute | ( | CV_Point2D32F_Vector | corners, |
CV_Point2D32F_Vector | sample_points | ||
) |
Compute the fiducial locations to sample using corners
corners | is the the 4 of the fiducials. |
sample_points | is the 64 vector of points that are computed. |
Fiducials__sample_points_compute() will use the 4 corners in corners as a quadralateral to compute an 8 by 8 grid of tag bit sample points and store the results into the the 64 preallocated CV_Point2D32F objects in sample_points. The quadralateral must be convex and in the counter-clockwise direction. Bit 0 will be closest to corners[1], bit 7 will be closest to corners[0], bit 56 closest to corners[2] and bit 63 closest to corners[3].
Definition at line 1452 of file Fiducials.cpp.
void Fiducials__sample_points_helper | ( | String_Const | label, |
CV_Point2D32F | corner, | ||
CV_Point2D32F | sample_point | ||
) |
Fiducials_Create Fiducials_Create__one_and_only | ( | void | ) |
Returns the one and only Fiducials_Create object.
Fiducials_Create__one_and_only() will return the one and only Fiducials_Create object. This object needs to be initalized prior to calling Fiduciasl__create().
Definition at line 1572 of file Fiducials.cpp.