00001 #include <stdlib.h>
00002 #include "fast.h"
00003
00004
00005 xy* fast9_detect_nonmax(const byte* im, int xsize, int ysize, int stride, int b, int* ret_num_corners)
00006 {
00007 xy* corners;
00008 int num_corners;
00009 int* scores;
00010 xy* nonmax;
00011
00012 corners = fast9_detect(im, xsize, ysize, stride, b, &num_corners);
00013 scores = fast9_score(im, stride, corners, num_corners, b);
00014 nonmax = nonmax_suppression(corners, scores, num_corners, ret_num_corners);
00015
00016 free(corners);
00017 free(scores);
00018
00019 return nonmax;
00020 }
00021
00022 xy* fast10_detect_nonmax(const byte* im, int xsize, int ysize, int stride, int b, int* ret_num_corners)
00023 {
00024 xy* corners;
00025 int num_corners;
00026 int* scores;
00027 xy* nonmax;
00028
00029 corners = fast10_detect(im, xsize, ysize, stride, b, &num_corners);
00030 scores = fast10_score(im, stride, corners, num_corners, b);
00031 nonmax = nonmax_suppression(corners, scores, num_corners, ret_num_corners);
00032
00033 free(corners);
00034 free(scores);
00035
00036 return nonmax;
00037 }
00038
00039 xy* fast11_detect_nonmax(const byte* im, int xsize, int ysize, int stride, int b, int* ret_num_corners)
00040 {
00041 xy* corners;
00042 int num_corners;
00043 int* scores;
00044 xy* nonmax;
00045
00046 corners = fast11_detect(im, xsize, ysize, stride, b, &num_corners);
00047 scores = fast11_score(im, stride, corners, num_corners, b);
00048 nonmax = nonmax_suppression(corners, scores, num_corners, ret_num_corners);
00049
00050 free(corners);
00051 free(scores);
00052
00053 return nonmax;
00054 }
00055
00056 xy* fast12_detect_nonmax(const byte* im, int xsize, int ysize, int stride, int b, int* ret_num_corners)
00057 {
00058 xy* corners;
00059 int num_corners;
00060 int* scores;
00061 xy* nonmax;
00062
00063 corners = fast12_detect(im, xsize, ysize, stride, b, &num_corners);
00064 scores = fast12_score(im, stride, corners, num_corners, b);
00065 nonmax = nonmax_suppression(corners, scores, num_corners, ret_num_corners);
00066
00067 free(corners);
00068 free(scores);
00069
00070 return nonmax;
00071 }