Image Component Library (ICL)
Classes | Public Types | Public Member Functions | Static Public Attributes | Private Attributes | List of all members
icl::markers::Fiducial Class Reference

Main class for detected image markers/fiducials. More...

#include <Fiducial.h>

Classes

struct  KeyPoint
 key point structure More...
 

Public Types

enum  Feature {
  Center2D, Rotation2D, Corners2D, KeyPoints2D,
  ImageRegion, Center3D, Rotation3D, Pose3D,
  FeatureCount
}
 Currently supported feature types. More...
 
typedef std::bitset<(int) FeatureCountFeatureSet
 FeatureSet class. More...
 

Public Member Functions

 Fiducial (FiducialImpl *impl=0)
 private Constructor More...
 
int getID () const
 the marker ID More...
 
std::string getName () const
 returns a string representation of the marker name More...
 
bool supports (Feature f) const
 returns wheather the Marker provides given information More...
 
const utils::Point32fgetCenter2D () const
 returns the marker'S center in the image More...
 
const float & getRotation2D () const
 retrurs the marker's rotation in the image plain More...
 
const std::vector< utils::Point32f > & getCorners2D () const
 returns the markers corners More...
 
const std::vector< KeyPoint > & getKeyPoints2D () const
 returns key points in the marker More...
 
const cv::ImageRegion getImageRegion () const
 returns the associated image region More...
 
const geom::VecgetCenter3D () const
 returns the markers More...
 
const geom::VecgetRotation3D () const
 returns the markers More...
 
const geom::MatgetPose3D () const
 returns the markers More...
 
 operator bool () const
 returns whether is marker has been initialized More...
 
bool operator! () const
 returns whether is marker has not been initialized More...
 
bool isNull () const
 returns whether is marker has not been initialized More...
 
bool operator== (const Fiducial &a) const
 returns whether the fiducials have the same impl More...
 
bool operator!= (const Fiducial &a) const
 returns whether the fiducials have not the same impl More...
 
FiducialImplgetImpl ()
 returns the marker's internal implementation structure More...
 
const FiducialImplgetImpl () const
 returns the marker's internal implementation structure (const) More...
 
FiducialDetectorPlugingetDetector ()
 returns the parent fiducial detector More...
 
const FiducialDetectorPlugingetDetector () const
 returns the parent fiducial detector (const) More...
 

Static Public Attributes

static const FeatureSet AllFeatures
 a full feature set More...
 

Private Attributes

FiducialImplimpl
 hidden implementation (always managed by the parent MarkerDetector) More...
 

Detailed Description

Main class for detected image markers/fiducials.

Internally, each fiducial is just a shallow wrapper around a FiducialImpl instance, which is managed by it's parent FiducialDetectorPlugin instance. Therefore, Fiducial instances can simply be copied as fast as a pointer-copy.

Member Typedef Documentation

FeatureSet class.

given a SeatureSet instances s, Feature x is supported if s[x] is true

Member Enumeration Documentation

Currently supported feature types.

Features can be binary-ored in order to create FeatureSet instances

Enumerator
Center2D 

center in image coordinates

Rotation2D 

rotation in the image plain

Corners2D 

list of corners

KeyPoints2D 

list of 2D points with corresponding marker coordinates

ImageRegion 

associated image region

Center3D 

3D center information

Rotation3D 

3D orientation information

Pose3D 

3D orientation information

FeatureCount 

number of features

Constructor & Destructor Documentation

icl::markers::Fiducial::Fiducial ( FiducialImpl impl = 0)
inline

private Constructor

Member Function Documentation

const utils::Point32f& icl::markers::Fiducial::getCenter2D ( ) const

returns the marker'S center in the image

const geom::Vec& icl::markers::Fiducial::getCenter3D ( ) const

returns the markers

const std::vector<utils::Point32f>& icl::markers::Fiducial::getCorners2D ( ) const

returns the markers corners

FiducialDetectorPlugin* icl::markers::Fiducial::getDetector ( )

returns the parent fiducial detector

const FiducialDetectorPlugin* icl::markers::Fiducial::getDetector ( ) const

returns the parent fiducial detector (const)

int icl::markers::Fiducial::getID ( ) const

the marker ID

const cv::ImageRegion icl::markers::Fiducial::getImageRegion ( ) const

returns the associated image region

FiducialImpl* icl::markers::Fiducial::getImpl ( )
inline

returns the marker's internal implementation structure

const FiducialImpl* icl::markers::Fiducial::getImpl ( ) const
inline

returns the marker's internal implementation structure (const)

const std::vector<KeyPoint>& icl::markers::Fiducial::getKeyPoints2D ( ) const

returns key points in the marker

std::string icl::markers::Fiducial::getName ( ) const

returns a string representation of the marker name

const geom::Mat& icl::markers::Fiducial::getPose3D ( ) const

returns the markers

const float& icl::markers::Fiducial::getRotation2D ( ) const

retrurs the marker's rotation in the image plain

const geom::Vec& icl::markers::Fiducial::getRotation3D ( ) const

returns the markers

bool icl::markers::Fiducial::isNull ( ) const
inline

returns whether is marker has not been initialized

icl::markers::Fiducial::operator bool ( ) const
inline

returns whether is marker has been initialized

bool icl::markers::Fiducial::operator! ( ) const
inline

returns whether is marker has not been initialized

bool icl::markers::Fiducial::operator!= ( const Fiducial a) const
inline

returns whether the fiducials have not the same impl

bool icl::markers::Fiducial::operator== ( const Fiducial a) const
inline

returns whether the fiducials have the same impl

bool icl::markers::Fiducial::supports ( Feature  f) const

returns wheather the Marker provides given information

Member Data Documentation

const FeatureSet icl::markers::Fiducial::AllFeatures
static

a full feature set

FiducialImpl* icl::markers::Fiducial::impl
private

hidden implementation (always managed by the parent MarkerDetector)


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