00001 #ifndef FAST_H
00002 #define FAST_H
00003
00004 typedef struct { int x, y; } xy;
00005 typedef unsigned char byte;
00006
00007 int fast9_corner_score(const byte* p, const int pixel[], int bstart);
00008 int fast10_corner_score(const byte* p, const int pixel[], int bstart);
00009 int fast11_corner_score(const byte* p, const int pixel[], int bstart);
00010 int fast12_corner_score(const byte* p, const int pixel[], int bstart);
00011
00012 xy* fast9_detect(const byte* im, int xsize, int ysize, int stride, int b, int* ret_num_corners);
00013 xy* fast10_detect(const byte* im, int xsize, int ysize, int stride, int b, int* ret_num_corners);
00014 xy* fast11_detect(const byte* im, int xsize, int ysize, int stride, int b, int* ret_num_corners);
00015 xy* fast12_detect(const byte* im, int xsize, int ysize, int stride, int b, int* ret_num_corners);
00016
00017 int* fast9_score(const byte* i, int stride, xy* corners, int num_corners, int b);
00018 int* fast10_score(const byte* i, int stride, xy* corners, int num_corners, int b);
00019 int* fast11_score(const byte* i, int stride, xy* corners, int num_corners, int b);
00020 int* fast12_score(const byte* i, int stride, xy* corners, int num_corners, int b);
00021
00022
00023 xy* fast9_detect_nonmax(const byte* im, int xsize, int ysize, int stride, int b, int* ret_num_corners);
00024 xy* fast10_detect_nonmax(const byte* im, int xsize, int ysize, int stride, int b, int* ret_num_corners);
00025 xy* fast11_detect_nonmax(const byte* im, int xsize, int ysize, int stride, int b, int* ret_num_corners);
00026 xy* fast12_detect_nonmax(const byte* im, int xsize, int ysize, int stride, int b, int* ret_num_corners);
00027
00028 xy* nonmax_suppression(const xy* corners, const int* scores, int num_corners, int* ret_num_nonmax);
00029
00030
00031 #endif