00001 #ifndef vepl_erode_disk_h_ 00002 #define vepl_erode_disk_h_ 00003 //: 00004 // \file 00005 // \brief morphological erosion with circular element 00006 // 00007 // Erosion is a morphological operation that replaces a pixel with the 00008 // minimum value of its surrounding pixels, in a certain neighbourhood. 00009 // Here, the neighbourhood is circular, with an arbitrary (float) radius, 00010 // which is to be passed to the constructor. 00011 // 00012 // Note that the function min(DataIn,DataIn) is being used; for 00013 // non-scalar data types (like colour pixels) an appropriate min() function 00014 // must thus be supplied. 00015 // 00016 // Note also the implicit use of DataOut::DataOut(DataIn), 00017 // which you probably will have to provide when DataIn and DataOut 00018 // are not the same type. It could even be argued that these types should 00019 // always be the same! 00020 // 00021 // \author Peter Vanroose, K.U.Leuven (ESAT/PSI) 00022 // \date 7 October 2002 00023 // 00024 // \verbatim 00025 // Modifications 00026 // Peter Vanroose - 20 aug 2003 - changed parameter and return types from vil_image_view_base_sptr to vil_image_resource_sptr 00027 // \endverbatim 00028 00029 #include <vil/vil_image_resource.h> 00030 00031 //: morphological erosion with circular element of supplied radius 00032 vil_image_resource_sptr vepl_erode_disk(vil_image_resource_sptr , float radius); 00033 00034 #endif // vepl_erode_disk_h_