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