00001 #ifndef osl_harris_params_h_ 00002 #define osl_harris_params_h_ 00003 00004 // .NAME osl_harris_params - parameter block class for the osl_harris class 00005 // .INCLUDE osl/osl_harris_params.h 00006 // .FILE osl_harris_params.cxx 00007 // .SECTION Author 00008 // Andrew W. Fitzgibbon, Oxford RRG, 07 Feb 97 00009 // .SECTION Modifications 00010 // fsm. various ports and modifications. 00011 00012 class osl_harris_params { 00013 public: 00014 osl_harris_params(); 00015 osl_harris_params(int max_corners_max, float gauss_sigma); 00016 osl_harris_params(int max_corners_max, float gauss_sigma, float relative_minimum, float scale_factor); 00017 void set_adaptive(int corner_count_low, int adaptive_window_size, float density_thresh); 00018 00019 //------------------------------------------------------------ 00020 00021 // 00022 bool verbose; 00023 00024 // origin of the original region of interest. 00025 int col_start_index; 00026 int row_start_index; 00027 00028 // 00029 bool pab_emulate; 00030 00031 //------------------------------------------------------------ 00032 00033 // max no of corners wanted. 00034 int corner_count_max; 00035 00036 // smoothing in the corner detector. 00037 float gauss_sigma; 00038 00039 // used to set the lowest acceptable corner strength, relative to the measured maximum. 00040 float relative_minimum; 00041 00042 // the Harris auto-correlation formula. 00043 float scale_factor; 00044 00045 // Adaptive parameters 00046 bool adaptive; 00047 int adaptive_window_size; 00048 int corner_count_low; // Accept all corners with the top "corner_count_low" strengths 00049 float density_thresh; // Accept corners between low and max if the local density is less than this. 00050 // "density" means number of corners in a 10x10 window. 00051 00052 private: 00053 void set_defaults(); 00054 }; 00055 00056 #endif // osl_harris_params_h_