Image Component Library (ICL)
|
Hidden implemetation for fiduical classes. More...
#include <FiducialImpl.h>
Classes | |
struct | Info2D |
set of 2D features More... | |
struct | Info3D |
set of 3D features More... | |
Public Member Functions | |
FiducialImpl () | |
base constructor initializing index with -1 and all other stuff with 0 More... | |
FiducialImpl (FiducialDetectorPlugin *parent, Fiducial::FeatureSet supported, Fiducial::FeatureSet computed, int id, int index, const utils::Size32f &realSizeMM) | |
2nd constructor with given parameters More... | |
FiducialImpl (const FiducialImpl &o) | |
explicitly implemented deep copy constructor More... | |
FiducialImpl & | operator= (const FiducialImpl &o) |
explicitly implemented assignment operator (deep copy) More... | |
~FiducialImpl () | |
Destructor (also deletes info2D and info3D if not null) More... | |
Info2D * | ensure2D () |
ensures that the info2D pointer is initialized More... | |
Info3D * | ensure3D () |
ensures that the info3D pointer is initialized More... | |
Public Attributes | |
FiducialDetectorPlugin * | parent |
parent Fiducial Detector instance More... | |
Fiducial::FeatureSet | supported |
list of generally available features More... | |
Fiducial::FeatureSet | computed |
list of already computed features More... | |
int | id |
Fiduical ID. More... | |
int | index |
Internally used index. More... | |
utils::Size32f | realSizeMM |
real marker size in millimeters More... | |
cv::ImageRegion | imageRegion |
most plugins can provide an image region More... | |
struct icl::markers::FiducialImpl::Info2D * | info2D |
struct icl::markers::FiducialImpl::Info3D * | info3D |
Hidden implemetation for fiduical classes.
The FiducialImpl class works as data storage for the public Fiducial class. It also holds a back-reference to it's parent FiducialDetectorPlugin that is used to compute features on demand if not alread available
The FiduicalImpl should not be visible for the FiduicalDetector user who accesses Fiducial information via the public Fiduical class. The Fiduical class implementation contains smart methods for querying Fiducial-Features. If a feature has been computed once, further calls will just return the automatically buffered result.
The feature Extraction is implemented in the FiducialDetectorPlugin class that defines how Fiducials are detected what features are supported how certain features are computed.
The FiducialDetectorPlugin can initialize the FiduicalImpl instances with precomputed values. Most of the time, at least some of the Fiducial feature values are already estimated within the detection step. If e.g. a region based fiducial detector needs to estimate a regions 2D-center for the detection itself, it can initialize the FiducialInstances with these values. Of course, it has to set up the 'computed' mask in the FiduicalImpl instances according to the set of precomputed features.
Other features, that are supported, but perhaps more difficult to compute can in contrast be supported in a deferred manner. The FiducialDetectorPlugin will the leave the 'computed' mask empty for this feature and provide an appropriate getter-method implementation. This is in particular useful to speed up the detection step itself since usually most complex features dont have to be computed for each detected Fiducial.
|
inline |
base constructor initializing index with -1 and all other stuff with 0
|
inline |
2nd constructor with given parameters
icl::markers::FiducialImpl::FiducialImpl | ( | const FiducialImpl & | o | ) |
explicitly implemented deep copy constructor
|
inline |
Destructor (also deletes info2D and info3D if not null)
|
inline |
ensures that the info2D pointer is initialized
|
inline |
ensures that the info3D pointer is initialized
FiducialImpl& icl::markers::FiducialImpl::operator= | ( | const FiducialImpl & | o | ) |
explicitly implemented assignment operator (deep copy)
Fiducial::FeatureSet icl::markers::FiducialImpl::computed |
list of already computed features
int icl::markers::FiducialImpl::id |
Fiduical ID.
cv::ImageRegion icl::markers::FiducialImpl::imageRegion |
most plugins can provide an image region
int icl::markers::FiducialImpl::index |
Internally used index.
The index can be estimate a FiducialImpl instances index from the getFeature-methods in the FiducialDetectorPlugin class
struct icl::markers::FiducialImpl::Info2D * icl::markers::FiducialImpl::info2D |
struct icl::markers::FiducialImpl::Info3D * icl::markers::FiducialImpl::info3D |
FiducialDetectorPlugin* icl::markers::FiducialImpl::parent |
parent Fiducial Detector instance
utils::Size32f icl::markers::FiducialImpl::realSizeMM |
real marker size in millimeters
This information is neccessary for creation of feature points and for most 3D pose detection stuff
Fiducial::FeatureSet icl::markers::FiducialImpl::supported |
list of generally available features