contrib/oxl/osl/osl_harris_params.h
Go to the documentation of this file.
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_