00001 // This is mul/ipts/ipts_entropy_pyramid.h 00002 #ifndef ipts_entropy_pyramid_h_ 00003 #define ipts_entropy_pyramid_h_ 00004 //: 00005 // \file 00006 // \brief Compute local entropy at each level of a scale space pyramid 00007 // \author Tim Cootes 00008 00009 #include <vimt/vimt_image_2d_of.h> 00010 #include <vimt/vimt_image_pyramid.h> 00011 00012 //: Compute local entropy at each level of a scale space pyramid 00013 // Build smooth gaussian pyramid from the image. 00014 // smooth_pyramid will be of type vxl_byte. entropy_pyramid is set to be of type float. 00015 // For each pixel in each image, compute entropy in region (2h+1)x(2h+1) 00016 // centred on the pixel. 00017 // Use ipts_scale_space_peaks() to get the position and scale of 00018 // likely corners 00019 void ipts_entropy_pyramid(const vimt_image_2d_of<vxl_byte>& image, 00020 vimt_image_pyramid& entropy_pyramid, 00021 vimt_image_pyramid& smooth_pyramid, 00022 double scale_step, unsigned half_width); 00023 00024 //: Compute entropy at each level of a scale space pyramid. 00025 // smooth_pyramid must be of type vxl_byte. entropy_pyramid is set to be of type float. 00026 // For each pixel in each image, compute entropy in region (2h+1)x(2h+1) 00027 // centred on the pixel. Only values in range [min_v,max_v] are included 00028 // in the calculation of entropy. 00029 // Use ipts_scale_space_peaks() to get the position and scale of likely corners 00030 void ipts_entropy_pyramid(const vimt_image_pyramid& smooth_pyramid, 00031 vimt_image_pyramid& entropy_pyramid, 00032 unsigned half_width, int min_v, int max_v); 00033 00034 #endif // ipts_entropy_pyramid_h_