Classes | |
struct | RGBGrad |
struct | Gan_CornerFeature |
2D corner feature structure. More... | |
struct | Gan_CornerFeatureMap |
2D corner feature map structure. More... | |
struct | Gan_EdgeFeature |
2D edge feature structure More... | |
struct | Gan_EdgeString |
Structure defining a connected string of edge features. More... | |
struct | Gan_EdgeFeatureMap |
Definition of 2D edge feature map structure. More... | |
struct | Gan_LineFeature |
2D line feature structure. More... | |
struct | Gan_LineFeatureMap |
2D line feature map structure. More... | |
struct | Gan_LocalFeatureMap |
Structure to hold blocked local feature information. More... | |
struct | Gan_LocalFeatureMapParams |
Structure to hold parameters for blocked local features. More... | |
Defines | |
#define | GAN_ISOLATED 0 |
#define | GAN_IN_STRING 1024 |
#define | ORIENT_MASK 0x3f |
#define | ATAN_NUMBER 100 |
#define | ATAN_NUMBER_F 100.0F |
#define | THREE_OVER_TWO 1.5F |
#define | TWO_OVER_THREE 0.6667F |
#define | THOUSAND 1000.0F |
#define | RADIAN_TEN 5.729577951F |
#define | EIGHTEEN_AND_A_BIT 18.5F |
#define | FEATURE_ARRAY_STEP_SIZE 500 |
#define | FEATURE_ARRAY_STEP_SIZE 500 |
#define | FEATURE_ARRAY_STEP_SIZE 500 |
#define | POINT_ARRAY_REALLOC_SIZE 5000 |
Typedefs | |
typedef RGBGrad | RGBGrad |
typedef Gan_CornerFeature | Gan_CornerFeature |
2D corner feature structure. | |
typedef Gan_CornerFeatureMap | Gan_CornerFeatureMap |
2D corner feature map structure. | |
typedef Gan_EdgeFeature | Gan_EdgeFeature |
2D edge feature structure | |
typedef Gan_EdgeString | Gan_EdgeString |
Structure defining a connected string of edge features. | |
typedef Gan_EdgeFeatureMap | Gan_EdgeFeatureMap |
Definition of 2D edge feature map structure. | |
typedef Gan_LineFeature | Gan_LineFeature |
2D line feature structure. | |
typedef Gan_LineFeatureMap | Gan_LineFeatureMap |
2D line feature map structure. | |
typedef Gan_LocalFeatureMap | Gan_LocalFeatureMap |
Structure to hold blocked local feature information. | |
typedef Gan_LocalFeatureMapParams | Gan_LocalFeatureMapParams |
Structure to hold parameters for blocked local features. | |
Functions | |
Gan_EdgeFeatureMap * | gan_canny_edge_q (Gan_Image *image, Gan_Image *mask, Gan_Mask1D *filter_y, Gan_Mask1D *filter_x, Gan_RGBPixel_f *colour, Gan_Vector2_f *direction, double lower_thres, double upper_thres, unsigned string_length_thres, Gan_Matrix23_f *A, Gan_Camera *camera, Gan_LocalFeatureMapParams *lpms, Gan_EdgeFeatureMap *edge_map, void(*set_progress)(void *, unsigned), void *progress_obj) |
Computes edges in an image using the Canny algorithm. | |
Gan_EdgeFeatureMap * | gan_canny_edge_s (Gan_Image *image, Gan_Image *mask, Gan_Mask1D *filter_y, Gan_Mask1D *filter_x, Gan_RGBPixel_f *colour, Gan_Vector2_f *direction, double lower_thres, double upper_thres, unsigned string_length_thres, Gan_Matrix23_f *A, Gan_Camera *camera, Gan_LocalFeatureMapParams *lpms, void(*set_progress)(void *, unsigned), void *progress_obj) |
Macro: Computes edges in an image using the Canny algorithm. | |
Gan_Bool | gan_corner_feature_display (Gan_CornerFeature *corner, float size, Gan_Matrix23_f *A, Gan_RGBPixel_f *corner_colour) |
Displays a single corner feature. | |
Gan_Bool | gan_corner_feature_map_display (Gan_CornerFeatureMap *cmap, float size, Gan_Matrix23_f *A, Gan_RGBPixel_f *corner_colour, Gan_RGBPixel_f *bbox_colour) |
Displays a corner feature map. | |
Gan_CornerFeatureMap * | gan_corner_feature_map_form (Gan_CornerFeatureMap *cmap, unsigned max_ncorners) |
Forms a corner feature map structure. | |
void | gan_corner_feature_map_free (Gan_CornerFeatureMap *cmap) |
Frees a corner feature map structure. | |
Gan_Bool | gan_corner_feature_map_clear (Gan_CornerFeatureMap *cmap, unsigned height, unsigned width, Gan_Matrix23_f *A, Gan_Camera *camera, Gan_LocalFeatureMapParams *lpms) |
Sets up and clears a corner feature map structure. | |
Gan_CornerFeature * | gan_corner_feature_add (Gan_CornerFeatureMap *cmap, unsigned r, unsigned c, float rf, float cf, Gan_SquMatrix22_f *N, int status, int index, float strength) |
Adds a corner to a corner feature map. | |
Gan_Bool | gan_corner_feature_map_postprocess (Gan_CornerFeatureMap *cmap) |
Postprocess feature map. | |
Gan_CornerFeatureMap * | gan_corner_feature_map_alloc (unsigned max_ncorners) |
Macro: Allocates a corner feature map structure. | |
Gan_Bool | gan_edge_feature_display (Gan_EdgeFeature *edge, float size, Gan_Matrix23_f *A, Gan_RGBPixel_f *edge_colour) |
Displays a single edge feature. | |
Gan_Bool | gan_edge_feature_map_display (Gan_EdgeFeatureMap *emap, float size, Gan_Matrix23_f *A, Gan_RGBPixel_f *edge_colour, Gan_RGBPixel_f *string_colour, Gan_RGBPixel_f *first_colour, Gan_RGBPixel_f *last_colour, Gan_RGBPixel_f *bbox_colour) |
Displays a edge feature map. | |
Gan_EdgeFeatureMap * | gan_edge_feature_map_form (Gan_EdgeFeatureMap *emap, unsigned max_nedges, unsigned max_nstrings) |
Forms an edge feature map structure. | |
void | gan_edge_feature_map_free (Gan_EdgeFeatureMap *emap) |
Frees an edge feature map structure. | |
Gan_Bool | gan_edge_feature_map_clear (Gan_EdgeFeatureMap *emap, unsigned height, unsigned width, Gan_Matrix23_f *A, Gan_Camera *camera, Gan_LocalFeatureMapParams *lpms) |
Sets up and clears an edge feature map structure. | |
Gan_EdgeFeature * | gan_edge_feature_add (Gan_EdgeFeatureMap *emap, unsigned r, unsigned c, float rf, float cf, float angle, float cov, int status, int index, float strength) |
Adds an edge to an edge feature map. | |
Gan_EdgeString * | gan_edge_feature_string_add (Gan_EdgeFeatureMap *emap, Gan_EdgeFeature *edge) |
Adds an edge string to an edge feature map. | |
Gan_Bool | gan_edge_feature_string_set_status (Gan_EdgeString *string, int status) |
Sets the status of all edges in the string. | |
Gan_Bool | gan_edge_feature_map_postprocess (Gan_EdgeFeatureMap *emap) |
Postprocess feature map. | |
Gan_EdgeFeatureMap * | gan_edge_feature_map_alloc (unsigned max_nedges, unsigned max_nstrings) |
Macro: Allocates a edge feature map structure. | |
Gan_CornerFeatureMap * | gan_harris_corner_q (Gan_Image *image, Gan_Image *mask, Gan_Mask1D *image_filter_y, Gan_Mask1D *image_filter_x, Gan_Mask1D *grad_filter_y, Gan_Mask1D *grad_filter_x, float kappa, float thres, Gan_Matrix23_f *A, int status, Gan_Camera *camera, Gan_LocalFeatureMapParams *lpms, Gan_CornerFeatureMap *corner_map) |
Computes corners in an image using the Harris algorithm. | |
Gan_CornerFeatureMap * | gan_harris_corner_s (Gan_Image *image, Gan_Image *mask, Gan_Mask1D *image_filter_y, Gan_Mask1D *image_filter_x, Gan_Mask1D *grad_filter_y, Gan_Mask1D *grad_filter_x, float kappa, float thres, Gan_Matrix23_f *A, int status, Gan_Camera *camera, Gan_LocalFeatureMapParams *lpms) |
Macro: Computes corners in an image using the Harris algorithm. | |
Gan_Bool | gan_line_feature_display (Gan_LineFeature *line, float line_thickness, Gan_Matrix23_f *A, Gan_RGBPixel_f *line_colour, Gan_RGBPixel_f *first_colour, Gan_RGBPixel_f *last_colour, Gan_RGBPixel_f *point_colour) |
Displays a single line feature. | |
Gan_Bool | gan_line_feature_map_display (Gan_LineFeatureMap *lmap, float line_thickness, Gan_Matrix23_f *A, Gan_RGBPixel_f *line_colour, Gan_RGBPixel_f *first_colour, Gan_RGBPixel_f *last_colour, Gan_RGBPixel_f *point_colour, Gan_RGBPixel_f *bbox_colour) |
Displays a line feature map. | |
Gan_LineFeatureMap * | gan_line_feature_map_form (Gan_LineFeatureMap *lmap, unsigned max_nlines) |
Forms a line feature map structure. | |
Gan_LineFeatureMap * | gan_line_feature_map_copy (Gan_LineFeatureMap *lmap) |
Copies a line feature map structure. | |
void | gan_line_feature_map_free (Gan_LineFeatureMap *lmap) |
Frees a line feature map structure. | |
Gan_Bool | gan_line_feature_map_clear (Gan_LineFeatureMap *lmap, unsigned height, unsigned width, Gan_Matrix23_f *A, Gan_LocalFeatureMapParams *lpms) |
Sets up and clears a line feature map structure. | |
Gan_LineFeature * | gan_line_feature_add (Gan_LineFeatureMap *lmap, float y1, float x1, float y2, float x2, Gan_SquMatrix22_f *N, int status, int index, float strength, Gan_Vector2_f *point, unsigned npoints) |
Adds a line to a line feature map. | |
Gan_Bool | gan_line_feature_map_postprocess (Gan_LineFeatureMap *lmap) |
Postprocess feature map. | |
Gan_LineFeatureMap * | gan_line_feature_map_alloc (unsigned max_nlines) |
Macro: Allocates a line feature map structure. | |
Gan_LocalFeatureMap * | gan_local_feature_map_form (Gan_LocalFeatureMap *pmap, unsigned height, unsigned width, Gan_LocalFeatureMapParams *pms) |
Forms a local feature map structure. | |
void | gan_local_feature_map_free (Gan_LocalFeatureMap *pmap) |
Frees a local feature map structure. | |
Gan_Bool | gan_local_feature_map_clear (Gan_LocalFeatureMap *pmap, unsigned height, unsigned width, Gan_LocalFeatureMapParams *pms) |
Clears a local feature map structure. | |
Gan_Bool | gan_local_feature_point_add (Gan_LocalFeatureMap *pmap, unsigned r, unsigned c, unsigned index) |
Adds a point feature to a local feature map. | |
Gan_Bool | gan_local_feature_line_add (Gan_LocalFeatureMap *pmap, unsigned r1, unsigned c1, unsigned r2, unsigned c2, unsigned index) |
Adds a line feature to a local feature map. | |
Gan_Bool | gan_local_feature_map_set_indices (Gan_LocalFeatureMap *pmap) |
Sets indices for a local feature map. | |
Gan_Bool | gan_local_feature_map_find_block (Gan_LocalFeatureMap *pmap, double y, double x, Gan_Matrix23 *Ai, unsigned *cr, unsigned *cc) |
Computes the block a feature position lies in. | |
Gan_LocalFeatureMap * | gan_local_feature_map_alloc (unsigned height, unsigned width, Gan_LocalFeatureMapParams *pms) |
Macro: Allocates a local feature map structure. | |
Gan_LineFeatureMap * | gan_orthog_line_q (Gan_EdgeFeatureMap *edge_map, unsigned min_length, unsigned cut_size, float rms_error_thres, Gan_LocalFeatureMapParams *lpms, Gan_Bool copy_points, Gan_LineFeatureMap *line_map, void(*set_progress)(void *, unsigned), void *progress_obj) |
Computes image lines using an orthogonal regression algorithm. | |
Gan_LineFeatureMap * | gan_orthog_line_s (Gan_EdgeFeatureMap *edge_map, unsigned min_length, unsigned cut_size, float rms_error_thres, Gan_LocalFeatureMapParams *lpms, Gan_Bool copy_points, void(*set_progress)(void *, unsigned), void *progress_obj) |
Macro: Computes image lines using an orthogonal regression algorithm. | |
Gan_Bool | gan_segment_strings_q (Gan_EdgeFeatureMap *edge_map, unsigned test_length, float rms_error_thres, unsigned string_length_thres) |
Segments strings in an edge map. |
|
Computes edges in an image using the Canny algorithm.
An affine transformation A is applied to the edgel coordinates if the A pointer is not
If the camera calibration structure pointer is not
|
|
Macro: Computes edges in an image using the Canny algorithm.
|
|
Adds a corner to a corner feature map.
The strength should be in units linear with the image intensity, if that is applicable.
If the covariance N is passed as
|
|
Displays a single corner feature.
|
|
Macro: Allocates a corner feature map structure.
|
|
Sets up and clears a corner feature map structure.
NULL , is passed to gan_local_feature_map_form() to build a local blocked feature map for the corner features.
|
|
Displays a corner feature map.
|
|
Forms a corner feature map structure.
|
|
Frees a corner feature map structure.
|
|
Postprocess feature map.
UINT_MAX index argument, so that the index array for the local features will be built.
|
|
Adds an edge to an edge feature map.
The strength should be in units linear with the image intensity, if that is applicable.
|
|
Displays a single edge feature.
|
|
Macro: Allocates a edge feature map structure.
|
|
Sets up and clears an edge feature map structure.
NULL , is passed to gan_local_feature_map_form() to build a local blocked feature map for the edge features.
|
|
Displays a edge feature map.
|
|
Forms an edge feature map structure.
|
|
Frees an edge feature map structure.
|
|
Postprocess feature map.
UINT_MAX index argument, so that the index array for the local features will be built.
|
|
Adds an edge string to an edge feature map.
|
|
Sets the status of all edges in the string.
|
|
Computes corners in an image using the Harris algorithm.
using the provided weighting factor kappa. The strength is non-maximum suppressed and thresholded by the given value thres. An extra feature (from Forster's corner detector) is a pre-smoothing of the image given by the image_filter_y and image_filter_x convolution masks.
An affine transformation A is applied to the corner coordinates if the A pointer is not
If the camera calibration structure pointer is not
|
|
Macro: Computes corners in an image using the Harris algorithm.
|
|
Adds a line to a line feature map.
The strength should be in units linear with the image intensity, if that is applicable. N is the covariance of the canonical line parameters a/b in y=ax+b, with the x/y coordinate system centred on the midpoint of the line (p1+p2)/2, with the positive x-axis along the line towards the p2 endpoint, and the positive y-axis 90 degrees anticlockwise from the x-axis.
|
|
Displays a single line feature.
|
|
Macro: Allocates a line feature map structure.
|
|
Sets up and clears a line feature map structure.
NULL , is passed to gan_local_feature_map_form() to build a local blocked feature map for the line features.
|
|
Copies a line feature map structure.
|
|
Displays a line feature map.
|
|
Forms a line feature map structure.
|
|
Frees a line feature map structure.
|
|
Postprocess feature map.
UINT_MAX index argument, so that the index array for the local features will be built.
|
|
Adds a line feature to a local feature map.
UINT_MAX , the index is ignored; otherwise it is added to the index array stored in the local feature map.
|
|
Macro: Allocates a local feature map structure.
This macro calls gan_local_feature_map_form().
|
|
Clears a local feature map structure.
|
|
Computes the block a feature position lies in.
|
|
Forms a local feature map structure.
|
|
Frees a local feature map structure.
|
|
Sets indices for a local feature map.
|
|
Adds a point feature to a local feature map.
UINT_MAX , the index is ignored; otherwise it is added to the index array stored in the local feature map.
|
|
Computes image lines using an orthogonal regression algorithm.
|
|
Macro: Computes image lines using an orthogonal regression algorithm.
|
|
Segments strings in an edge map.
The parameter test_length must be odd and >= 3. |