Image Component Library (ICL)
|
FiducialDetectorPlugin for quad-markers like ARToolkit and BCH-Code markers. More...
#include <FiducialDetectorPluginForQuads.h>
Public Member Functions | |
~FiducialDetectorPluginForQuads () | |
Destructor. More... | |
virtual void | getKeyPoints2D (std::vector< Fiducial::KeyPoint > &dst, FiducialImpl &impl) |
returns how to compute a list of image-position/marker-position correspondences More... | |
virtual void | getFeatures (Fiducial::FeatureSet &dst) |
defines which features are supported More... | |
virtual void | detect (std::vector< FiducialImpl * > &dst, const core::Img8u &image) |
defines how to detect markers from a given image More... | |
virtual SourceImageType | getPreProcessing () const |
this plugin uses the binarisation from the internally used quad-detector More... | |
virtual void | addOrRemoveMarkers (bool add, const utils::Any &which, const utils::ParamList ¶ms)=0 |
loads markers ID's (also implemented in the subclasses) More... | |
std::string | getIntermediateImageNames () const |
this plugin provides some extra intermediate images More... | |
const core::ImgBase * | getIntermediateImage (const std::string &name) const |
returns the intermediate image, that is associated with the given name More... | |
virtual void | prepareForPatchClassification () |
this method is called before the patch classification loop is started More... | |
virtual FiducialImpl * | classifyPatch (const core::Img8u &image, int *rot, bool returnRejectedQuads, cv::ImageRegion r)=0 |
this method must be called in the subclasses More... | |
virtual void | getQuadRectificationParameters (utils::Size &markerSizeWithBorder, utils::Size &markerSizeWithoutBorder)=0 |
this method is also implemented in the subclasses More... | |
QuadDetector & | getQuadDetector () |
returns the internal quad-detector More... | |
Public Member Functions inherited from icl::markers::FiducialDetectorPlugin | |
FiducialDetectorPlugin () | |
initializes the plugin with a 0-camera More... | |
virtual | ~FiducialDetectorPlugin () |
virtual Destructor More... | |
virtual void | getCenter2D (utils::Point32f &dst, FiducialImpl &impl) |
returns how to compute the markers 2D center More... | |
virtual void | getRotation2D (float &dst, FiducialImpl &impl) |
returns how to compute the markers 2D rotation More... | |
virtual void | getCorners2D (std::vector< utils::Point32f > &dst, FiducialImpl &impl) |
returns how to compute the markers 2D corners (or significant points on its edges More... | |
virtual void | getCenter3D (geom::Vec &dst, FiducialImpl &impl) |
computes a markers 3D center More... | |
virtual void | getRotation3D (geom::Vec &dst, FiducialImpl &impl) |
computes a markers 3D rotation euler angles More... | |
virtual void | getPose3D (geom::Mat &dst, FiducialImpl &impl) |
computes a markers 3D position and rotation euler angles More... | |
virtual std::string | getName (const FiducialImpl *impl) |
creates a human readable name for the given impl More... | |
virtual core::Img8u | createMarker (const utils::Any &, const utils::Size &, const utils::ParamList &) |
interface for creating an image of a specific marker More... | |
Public Member Functions inherited from icl::utils::Configurable | |
virtual | ~Configurable () |
virtual destructor More... | |
Configurable (const Configurable &other) | |
Copy constructor. More... | |
Configurable & | operator= (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... | |
Protected Member Functions | |
FiducialDetectorPluginForQuads () | |
only the FiducialDetector can instantiate this class 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... | |
Property & | prop (const std::string &propertyName) |
this CAN be used e.g. to store a property value in internal property-list More... | |
const Property & | prop (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... | |
Private Attributes | |
Data * | data |
Internal data pointer. More... | |
Friends | |
class | icl::markers::FiducialDetector |
This class cannot be used. More... | |
Additional Inherited Members | |
Public Types inherited from icl::markers::FiducialDetectorPlugin | |
enum | SourceImageType { Binary, Gray, Color } |
Enumeration for differnt source image types. More... | |
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::markers::FiducialDetectorPlugin | |
static std::vector< int > | parse_list_str (const utils::Any &s) |
parses an any instance that is either an int-value, or a range or a list of int-values 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 Configurable * | get (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 Configurable * | create_configurable (const std::string &classname) |
creates a configurable by given name More... | |
Public Attributes inherited from icl::markers::FiducialDetectorPlugin | |
geom::Camera * | camera |
Camera structure for 3D feature estimation. More... | |
geom::CoplanarPointPoseEstimator | poseEst |
for 3D pose estimation 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 Attributes inherited from icl::utils::Configurable | |
std::vector< Callback > | callbacks |
internally managed list of callbacks More... | |
FiducialDetectorPlugin for quad-markers like ARToolkit and BCH-Code markers.
|
protected |
only the FiducialDetector can instantiate this class
icl::markers::FiducialDetectorPluginForQuads::~FiducialDetectorPluginForQuads | ( | ) |
Destructor.
|
pure virtual |
loads markers ID's (also implemented in the subclasses)
add | |
which | this any instance can be ... of type int (then, only the corresponding marker ID is loaded) of type utils::Range32s "[a,b]", (then all markers within the range are loaded) of something like {a,b,c,d,...} then all marker IDs in the list are loaded |
Please note that other types might be interpreted in the wrong way. Mandatory parameter is "size". Please refer to the documentation of icl::markers::FiducialDetector::loadMarkers for more details
params |
Implements icl::markers::FiducialDetectorPlugin.
Implemented in icl::markers::FiducialDetectorPluginART, and icl::markers::FiducialDetectorPluginBCH.
|
pure virtual |
this method must be called in the subclasses
Implemented in icl::markers::FiducialDetectorPluginART, and icl::markers::FiducialDetectorPluginBCH.
|
virtual |
defines how to detect markers from a given image
Implements icl::markers::FiducialDetectorPlugin.
|
virtual |
defines which features are supported
Implements icl::markers::FiducialDetectorPlugin.
|
virtual |
returns the intermediate image, that is associated with the given name
Reimplemented from icl::markers::FiducialDetectorPlugin.
|
virtual |
this plugin provides some extra intermediate images
Reimplemented from icl::markers::FiducialDetectorPlugin.
|
virtual |
returns how to compute a list of image-position/marker-position correspondences
The 2D-keypoints are the most common information that is use to compute a markers 3D information. Each keypoint defines a 2D marker location in [mm] and a corresponding image location
Reimplemented from icl::markers::FiducialDetectorPlugin.
|
inlinevirtual |
this plugin uses the binarisation from the internally used quad-detector
Reimplemented from icl::markers::FiducialDetectorPlugin.
QuadDetector& icl::markers::FiducialDetectorPluginForQuads::getQuadDetector | ( | ) |
returns the internal quad-detector
|
pure virtual |
this method is also implemented in the subclasses
The method describes the parameters for the marker rectification
Implemented in icl::markers::FiducialDetectorPluginART, and icl::markers::FiducialDetectorPluginBCH.
|
inlinevirtual |
this method is called before the patch classification loop is started
this function can be used to avoid property extraction at runtime. Usually, a certain implementation can read out and store all property values that are used in classify patch once in a whole image processing cylce
Reimplemented in icl::markers::FiducialDetectorPluginBCH.
|
friend |
This class cannot be used.
|
private |
Internal data pointer.