Image Component Library (ICL)
|
FiducialDetectorPlugin for quad-markers like ARToolkit and BCH-Code markers. More...
#include <FiducialDetectorPluginForQuads.h>
Public Member Functions | |
~FiducialDetectorPluginForQuads () | |
Destructor. | |
virtual void | getKeyPoints2D (std::vector< Fiducial::KeyPoint > &dst, FiducialImpl &impl) |
returns how to compute a list of image-position/marker-position correspondences | |
virtual void | getFeatures (Fiducial::FeatureSet &dst) |
defines which features are supported | |
virtual void | detect (std::vector< FiducialImpl * > &dst, const core::Img8u &image) |
defines how to detect markers from a given image | |
virtual SourceImageType | getPreProcessing () const |
this plugin uses the binarisation from the internally used quad-detector | |
virtual void | addOrRemoveMarkers (bool add, const utils::Any &which, const utils::ParamList ¶ms)=0 |
loads markers ID's (also implemented in the subclasses) | |
std::string | getIntermediateImageNames () const |
this plugin provides some extra intermediate images | |
const core::ImgBase * | getIntermediateImage (const std::string &name) const throw (utils::ICLException) |
returns the intermediate image, that is associated with the given name | |
virtual void | prepareForPatchClassification () |
this method is called before the patch classification loop is started | |
virtual FiducialImpl * | classifyPatch (const core::Img8u &image, int *rot, bool returnRejectedQuads, cv::ImageRegion r)=0 |
this method must be called in the subclasses | |
virtual void | getQuadRectificationParameters (utils::Size &markerSizeWithBorder, utils::Size &markerSizeWithoutBorder)=0 |
this method is also implemented in the subclasses | |
QuadDetector & | getQuadDetector () |
returns the internal quad-detector | |
Protected Member Functions | |
FiducialDetectorPluginForQuads () | |
only the FiducialDetector can instantiate this class | |
Private Attributes | |
Data * | data |
Internal data pointer. | |
Friends | |
class | icl::markers::FiducialDetector |
This class cannot be used. |
FiducialDetectorPlugin for quad-markers like ARToolkit and BCH-Code markers.
only the FiducialDetector can instantiate this class
virtual void icl::markers::FiducialDetectorPluginForQuads::addOrRemoveMarkers | ( | bool | add, |
const utils::Any & | which, | ||
const utils::ParamList & | params | ||
) | [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.
virtual FiducialImpl* icl::markers::FiducialDetectorPluginForQuads::classifyPatch | ( | const core::Img8u & | image, |
int * | rot, | ||
bool | returnRejectedQuads, | ||
cv::ImageRegion | r | ||
) | [pure virtual] |
this method must be called in the subclasses
Implemented in icl::markers::FiducialDetectorPluginART, and icl::markers::FiducialDetectorPluginBCH.
virtual void icl::markers::FiducialDetectorPluginForQuads::detect | ( | std::vector< FiducialImpl * > & | dst, |
const core::Img8u & | image | ||
) | [virtual] |
defines how to detect markers from a given image
Implements icl::markers::FiducialDetectorPlugin.
virtual void icl::markers::FiducialDetectorPluginForQuads::getFeatures | ( | Fiducial::FeatureSet & | dst | ) | [virtual] |
defines which features are supported
Implements icl::markers::FiducialDetectorPlugin.
const core::ImgBase* icl::markers::FiducialDetectorPluginForQuads::getIntermediateImage | ( | const std::string & | name | ) | const throw (utils::ICLException) [virtual] |
returns the intermediate image, that is associated with the given name
Reimplemented from icl::markers::FiducialDetectorPlugin.
std::string icl::markers::FiducialDetectorPluginForQuads::getIntermediateImageNames | ( | ) | const [virtual] |
this plugin provides some extra intermediate images
Reimplemented from icl::markers::FiducialDetectorPlugin.
virtual void icl::markers::FiducialDetectorPluginForQuads::getKeyPoints2D | ( | std::vector< Fiducial::KeyPoint > & | dst, |
FiducialImpl & | impl | ||
) | [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.
virtual SourceImageType icl::markers::FiducialDetectorPluginForQuads::getPreProcessing | ( | ) | const [inline, virtual] |
this plugin uses the binarisation from the internally used quad-detector
Reimplemented from icl::markers::FiducialDetectorPlugin.
returns the internal quad-detector
virtual void icl::markers::FiducialDetectorPluginForQuads::getQuadRectificationParameters | ( | utils::Size & | markerSizeWithBorder, |
utils::Size & | markerSizeWithoutBorder | ||
) | [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.
virtual void icl::markers::FiducialDetectorPluginForQuads::prepareForPatchClassification | ( | ) | [inline, virtual] |
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 class icl::markers::FiducialDetector [friend] |
This class cannot be used.
Reimplemented in icl::markers::FiducialDetectorPluginART, and icl::markers::FiducialDetectorPluginBCH.
Data* icl::markers::FiducialDetectorPluginForQuads::data [private] |
Internal data pointer.
Reimplemented in icl::markers::FiducialDetectorPluginART, and icl::markers::FiducialDetectorPluginBCH.