#include <assert.h>
#include <sys/time.h>
#include <angles/angles.h>
#include <opencv2/highgui/highgui_c.h>
#include "CRC.hpp"
#include "CV.hpp"
#include "File.hpp"
#include "FEC.hpp"
#include "Fiducials.hpp"
#include "String.hpp"
#include "Location.hpp"
Go to the source code of this file.
Functions | |
void | CV_Point2D32F_Vector__corners_normalize (CV_Point2D32F_Vector corners) |
Force corners to be counter-clockwise. More... | |
bool | CV_Point2D32F_Vector__is_clockwise (CV_Point2D32F_Vector corners) |
Return true if corners is in a clockwise direction. More... | |
Fiducials | Fiducials__create (CV_Image original_image, Fiducials_Create fiducials_create) |
Create and return a Fiducials object. More... | |
void | Fiducials__fiducial_announce (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) |
Callback routine tthat prints out the fidicial information. More... | |
void | Fiducials__free (Fiducials fiducials) |
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... | |
void | Fiducials__map_save (Fiducials fiducials) |
Force the map associated with fiducials to be saved. 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... | |
Fiducials_Create | Fiducials_Create__one_and_only (void) |
Returns the one and only Fiducials_Create object. More... | |
Variables | |
static struct Fiducials_Create__Struct | fiducials_create_struct |
void CV_Point2D32F_Vector__corners_normalize | ( | CV_Point2D32F_Vector | corners | ) |
Force corners to be counter-clockwise.
corners | is the list of 4 fiducial corners. |
CV_Point2D32F_Vector__corners_normalize() will force corners to be counter-clockwise. Note there is no check to ensure that corners actually has 4 values in it.
Definition at line 1223 of file Fiducials.cpp.
bool CV_Point2D32F_Vector__is_clockwise | ( | CV_Point2D32F_Vector | corners | ) |
Return true if corners is in a clockwise direction.
corners | is a vector of 4 fiducials corners to test. |
CV_Point2D32F_Vector__is_clockwise() will return true if the 4 fiducial corners in corners are clockwise and false otherwise.
Definition at line 1253 of file Fiducials.cpp.
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__fiducial_announce | ( | 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 | ||
) |
Callback routine tthat prints out the fidicial information.
announce_object | is unused. |
id | is the tag id. |
direction | specifies (0-3) which of the 4 possible fiducial orientations matched. |
world_diagonal | is the diagonal measured in world coordinate. |
x1 | is the X coordinate of corner1 in camera coordinates. |
y1 | is the y coordinate of corner1 in camera coordinates. |
x2 | is the X coordinate of corner2 in camera coordinates. |
y2 | is the y coordinate of corner2 in camera coordinates. |
x3 | is the X coordinate of corner3 in camera coordinates. |
y3 | is the y coordinate of corner3 in camera coordinates. |
x4 | is the X coordinate of corner4 in camera coordinates. |
y4 | is the y coordinate of corner4 in camera coordinates. |
Fiducials__fiducial_announce() will announce finding a fiducial in a camera image. This callback routine is supplied as an argument to Fiducials__create().
Definition at line 410 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.
void Fiducials__map_save | ( | Fiducials | fiducials | ) |
Force the map associated with fiducials to be saved.
fiducials | is the Fiducials object to save the map of. |
Fiducials__map_save() will cause the map associated with fiducials to be saved.
Definition at line 737 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.
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.
|
static |
Definition at line 1557 of file Fiducials.cpp.