00001 #ifndef CVD_FAST_CORNER_H
00002 #define CVD_FAST_CORNER_H
00003
00004 #include <vector>
00005 #include <utility>
00006
00007 #include <cvd/byte.h>
00008 #include <cvd/image.h>
00009
00010 namespace CVD
00011 {
00012
00025 void fast_nonmax( const BasicImage<byte>& im, const std::vector<ImageRef>& corners, int barrier, std::vector<ImageRef>& max_corners);
00026
00043 void fast_nonmax_with_scores( const BasicImage<byte>& im, const std::vector<ImageRef>& corners, int barrier, std::vector<std::pair<ImageRef,int> >& max_corners);
00044
00052 void fast_corner_detect_7(const BasicImage<byte>& im, std::vector<ImageRef>& corners, int barrier);
00053
00054
00063 void fast_corner_score_7(const SubImage<byte>& i, const std::vector<ImageRef>& corners, int b, std::vector<int>& scores);
00064
00065
00073 void fast_corner_detect_8(const BasicImage<byte>& im, std::vector<ImageRef>& corners, int barrier);
00074
00083 void fast_corner_score_8(const SubImage<byte>& i, const std::vector<ImageRef>& corners, int b, std::vector<int>& scores);
00084
00085
00106 void fast_corner_detect_9(const BasicImage<byte>& im, std::vector<ImageRef>& corners, int barrier);
00107
00116 void fast_corner_score_9(const SubImage<byte>& i, const std::vector<ImageRef>& corners, int b, std::vector<int>& scores);
00117
00118
00126 void fast_corner_detect_9_nonmax(const BasicImage<byte>& im, std::vector<ImageRef>& max_corners, int barrier);
00127
00135 void fast_corner_detect_10(const BasicImage<byte>& im, std::vector<ImageRef>& corners, int barrier);
00136
00145 void fast_corner_score_10(const SubImage<byte>& i, const std::vector<ImageRef>& corners, int b, std::vector<int>& scores);
00146
00154 void fast_corner_detect_11(const BasicImage<byte>& im, std::vector<ImageRef>& corners, int barrier);
00155
00164 void fast_corner_score_11(const SubImage<byte>& i, const std::vector<ImageRef>& corners, int b, std::vector<int>& scores);
00165
00173 void fast_corner_detect_12(const BasicImage<byte>& im, std::vector<ImageRef>& corners, int barrier);
00174
00183 void fast_corner_score_12(const SubImage<byte>& i, const std::vector<ImageRef>& corners, int b, std::vector<int>& scores);
00184
00185
00186
00190 extern const ImageRef fast_pixel_ring[16];
00191 }
00192
00193 #endif