contrib/mul/ipts/ipts_local_entropy.h
Go to the documentation of this file.
00001 #ifndef ipts_local_entropy_h_
00002 #define ipts_local_entropy_h_
00003 
00004 //:
00005 //  \file
00006 //  \brief Compute entropy in region around each image pixel
00007 //  \author Tim Cootes
00008 
00009 #include <vil/vil_image_view.h>
00010 
00011 //: Compute local entropy in square region around each pixel in image
00012 //  For each pixel in image, compute entropy in region (2h+1)x(2h+1)
00013 //  centred on the pixel.  Result put in entropy image, which is of
00014 //  size (image.ni()-2h) x (image.nj()-2h). Thus entropy(i,j)
00015 //  corresponds to the value in the box around image point (i+h,j+h).
00016 //
00017 //  Values in image are assumed to lie in the range [min_v,max_v].
00018 //  Any values outside that range will be ignored in the entropy calculation.
00019 //
00020 //  Local peaks are interesting points (see work of S.Gilles and that of T.Kadir).
00021 void ipts_local_entropy(const vil_image_view<vxl_byte>& image,
00022                         vil_image_view<float>& entropy,
00023                         unsigned h, unsigned min_v = 0, unsigned max_v = 255);
00024 
00025 #endif // ipts_local_entropy_h_