Image Component Library (ICL)
Classes | Public Member Functions | Private Attributes | List of all members
icl::cv::TemplateTracker Class Reference

Utility class vor viewbased template tracking. More...

#include <TemplateTracker.h>

Inheritance diagram for icl::cv::TemplateTracker:
icl::utils::Configurable icl::utils::Uncopyable

Classes

struct  Result
 Result class that describes a tracking result. More...
 

Public Member Functions

 TemplateTracker (const core::Img8u *templateImage=0, float rotationStepSizeDegree=1.0, int positionTrackingRangePix=100, float rotationTrackingRangeDegree=45, int coarseSteps=10, int fineSteps=1, const Result &initialResult=Result())
 Constructor with given parameters. More...
 
 ~TemplateTracker ()
 Desctructor. More...
 
void showRotationLUT () const
 utility method that shows the template rotation lookup table More...
 
void setRotationLUT (const std::vector< utils::SmartPtr< core::Img8u > > &lut)
 sets a new set or rotated template images More...
 
void setTemplateImage (const core::Img8u &templateImage, float rotationStepSizeDegree=1.0)
 sets a new template image, that is internally rotated More...
 
Result track (const core::Img8u &image, const Result *initialResult=0, std::vector< Result > *allResults=0)
 actual track method More...
 
- Public Member Functions inherited from icl::utils::Configurable
virtual ~Configurable ()
 virtual destructor More...
 
 Configurable (const Configurable &other)
 Copy constructor. More...
 
Configurableoperator= (const Configurable &other)
 Assignment operator. More...
 
void setConfigurableID (const std::string &ID)
 sets the ID of this configurable More...
 
const std::string & getConfigurableID () const
 returns the configurables static ID More...
 
bool isOrderedFlagSet () const
 returns whether the ordered flag is set More...
 
void deactivateProperty (const std::string &pattern)
 adds an additional deativation pattern More...
 
void deleteDeactivationPattern (const std::string &pattern)
 removed a formerly added deactivation pattern More...
 
std::vector< std::string > getPropertyListWithoutDeactivated () const
 this returns a filtered list of properties (using all filters added by deactivateProperty) More...
 
virtual void adaptProperty (const std::string &name, const std::string &newType, const std::string &newInfo, const std::string &newToolTip)
 this function can be used to adapt a specific property afterwards More...
 
void registerCallback (const Callback &cb)
 add a callback for changed properties More...
 
void removedCallback (const Callback &cb)
 removes a callback that was registered before More...
 
void syncChangesTo (Configurable *others, int num=1)
 this can be used to let this instance also apply property changes to others More...
 
virtual void setPropertyValue (const std::string &propertyName, const Any &value)
 sets a property value More...
 
virtual std::vector< std::string > getPropertyList () const
 returns a list of All properties, that can be set using setProperty More...
 
virtual bool supportsProperty (const std::string &propertyName) const
 base implementation for property check (seaches in the property list) More...
 
virtual void saveProperties (const std::string &filename, const std::vector< std::string > &propertiesToSkip=EMPTY_VEC) const
 writes all available properties into a file More...
 
virtual void loadProperties (const std::string &filename, const std::vector< std::string > &propertiesToSkip=EMPTY_VEC)
 reads a camera config file from disc More...
 
virtual std::string getPropertyType (const std::string &propertyName) const
 get type of property More...
 
virtual std::string getPropertyInfo (const std::string &propertyName) const
 get information of a properties valid values More...
 
virtual Any getPropertyValue (const std::string &propertyName) const
 returns the current value of a property or a parameter More...
 
virtual std::string getPropertyToolTip (const std::string &propertyName) const
 returns the tooltip description for a given property More...
 
virtual int getPropertyVolatileness (const std::string &propertyName) const
 Returns whether this property may be changed internally. More...
 

Private Attributes

Data * data
 internal data storage More...
 

Additional Inherited Members

- Public Types inherited from icl::utils::Configurable
typedef Function< void, const Property & > Callback
 Function type for changed properties. More...
 
- Static Public Member Functions inherited from icl::utils::Configurable
static std::string create_default_ID (const std::string &prefix)
 this function can be used in subclasses to create a default ID More...
 
static Configurableget (const std::string &id)
 returns configurable by given ID More...
 
static void register_configurable_type (const std::string &classname, Function< Configurable * > creator)
 registers a configurable type More...
 
static std::vector< std::string > get_registered_configurables ()
 returns a list of all registered configurable classnames More...
 
static Configurablecreate_configurable (const std::string &classname)
 creates a configurable by given name More...
 
- Static Public Attributes inherited from icl::utils::Configurable
static const std::vector< std::string > EMPTY_VEC
 used as shortcut – just an empty vector of std::strings More...
 
- Protected Member Functions inherited from icl::utils::Configurable
void addProperty (const std::string &name, const std::string &type, const std::string &info, const Any &value=Any(), const int volatileness=0, const std::string &tooltip=std::string())
 This can be used by derived classes to store supported properties in the internal list. More...
 
void addChildConfigurable (Configurable *configurable, const std::string &childPrefix="")
 This adds another configurable as child. More...
 
void removeChildConfigurable (Configurable *configurable)
 removes the given child configurable More...
 
Propertyprop (const std::string &propertyName)
 this CAN be used e.g. to store a property value in internal property-list More...
 
const Propertyprop (const std::string &propertyName) const
 this CAN be used e.g. to store a property value in internal property-list More...
 
 Configurable (const std::string &ID="", bool ordered=true)
 create this configurable with given ID More...
 
void call_callbacks (const std::string &propertyName, const Configurable *caller) const
 calls all registered callbacks More...
 
- Protected Member Functions inherited from icl::utils::Uncopyable
 Uncopyable ()
 Empty base constructor. More...
 
- Protected Attributes inherited from icl::utils::Configurable
std::vector< Callbackcallbacks
 internally managed list of callbacks More...
 

Detailed Description

Utility class vor viewbased template tracking.

TODO: add more documentation!

Constructor & Destructor Documentation

◆ TemplateTracker()

icl::cv::TemplateTracker::TemplateTracker ( const core::Img8u templateImage = 0,
float  rotationStepSizeDegree = 1.0,
int  positionTrackingRangePix = 100,
float  rotationTrackingRangeDegree = 45,
int  coarseSteps = 10,
int  fineSteps = 1,
const Result initialResult = Result() 
)

Constructor with given parameters.

TODO: describe parameters and methology

◆ ~TemplateTracker()

icl::cv::TemplateTracker::~TemplateTracker ( )

Desctructor.

Member Function Documentation

◆ setRotationLUT()

void icl::cv::TemplateTracker::setRotationLUT ( const std::vector< utils::SmartPtr< core::Img8u > > &  lut)

sets a new set or rotated template images

◆ setTemplateImage()

void icl::cv::TemplateTracker::setTemplateImage ( const core::Img8u templateImage,
float  rotationStepSizeDegree = 1.0 
)

sets a new template image, that is internally rotated

internally 360/rotationStepSizeDegree images are sampled using image rotation. Please note that at some loations the image edges are cut. Therefore, the template should only be located within the inner center circle of the template's image rectangle

◆ showRotationLUT()

void icl::cv::TemplateTracker::showRotationLUT ( ) const

utility method that shows the template rotation lookup table

◆ track()

Result icl::cv::TemplateTracker::track ( const core::Img8u image,
const Result initialResult = 0,
std::vector< Result > *  allResults = 0 
)

actual track method

Member Data Documentation

◆ data

Data* icl::cv::TemplateTracker::data
private

internal data storage

internal data pointer


The documentation for this class was generated from the following file: