190 #ifndef __CornerDetectorSusan_hh__
191 #define __CornerDetectorSusan_hh__
193 #include "CornerDetectorBase.hh"
195 #define DEFAULT_THRESH 50
196 #define DEFAULT_QUICK false
200 #define MAX_CORNERS 10000
201 #define CORNERDETECTOR_SUSAN_MAXNUM_DEFAULT 1850
222 template <
class StorageType>
233 std::vector<HomgPoint2D>& pvec,
234 std::vector<QUAL>& quality);
258 void _int_to_uchar(
const int *r, StorageType *in,
int size);
262 void _setup_brightness_lut(
int thresh,
int form);
265 int _susan_corners(
const StorageType *in,
int *r, StorageType *bp,
271 int _susan_corners(
const StorageType *in,
int *r, StorageType *bp,
273 int y_size,
const StorageType *roi);
276 int _susan_corners_quick(
const StorageType *in,
int *r, StorageType *bp,
283 _susansize=x_size*y_size;
284 if (_cgx!=NULL)
delete[] _cgx;
285 if (_cgy!=NULL)
delete[] _cgy;
286 if (_r!=NULL)
delete[] _r;
287 _r =
new int[_susansize];
288 _cgx=
new int[_susansize];
289 _cgy=
new int[_susansize];
297 #endif // __CornerDetectorSusan_hh__
The Susan corner detector (oxford implementation, see license)
The image template class for specific storage types.
struct cornerstruct CORNER_LIST[MAX_CORNERS]
purly virtual interface defining class for corner detectors
used only by Susan corner detector
void _SusanReAllocMem(int x_size, int y_size)
allocates the internal data structures for susan corner detector