/** * @file RSMeanShift.h * @brief implementation of the MeanShift algorithm (uses EDISON) * @author Björn Fröhlich * @date 05/05/2009 */ #ifndef RSMEANSHIFT #define RSMEANSHIFT #include "core/basics/Config.h" #include "RegionSegmentationMethod.h" #include #include namespace OBJREC { class RSMeanShift: public RegionSegmentationMethod { protected: //! Specifies the minimum allowable region area (in pixels) contained in the segmented image int minimumRegionArea; //! Specifies the bandwidth of the search window in the range subspace during the computation of mean shift double rangeBandwidth; //! Specifies a spatial search window of size (2r+1)x (2r+1) during the mean shift computation, where r is the spatial bandwidth int spatialBandwidth; //! Specifies the SpeedUpLevel. See EDISON Manual for details. std::string speedUpLvlStr; SpeedUpLevel speedUpLevel; //! EDISON - ImageProcessor msImageProcessor *imageProc; public: /** simple constructor */ RSMeanShift(); /** * standard constructor * @param conf config file */ RSMeanShift(const NICE::Config *conf ); /** simple destructor */ ~RSMeanShift(); /** * returns the regions of a given image * @param img input image * @param mask output regions, each region has it own number * @return count of region */ int segRegions ( const NICE::Image & img, NICE::Matrix & mask ) const; /** * returns the regions of a given image * @param img input image * @param mask output regions, each region has it own number * @return count of region */ int segRegions ( const NICE::ColorImage & img, NICE::Matrix & mask ) const; }; } //namespace #endif