Image Component Library (ICL)
FiducialDetectorPluginHierarchical.h
Go to the documentation of this file.
1 /********************************************************************
2 ** Image Component Library (ICL) **
3 ** **
4 ** Copyright (C) 2006-2013 CITEC, University of Bielefeld **
5 ** Neuroinformatics Group **
6 ** Website: www.iclcv.org and **
7 ** http://opensource.cit-ec.de/projects/icl **
8 ** **
9 ** File : ICLMarkers/src/ICLMarkers/FiducialDetectorPluginHierar **
10 ** chical.h **
11 ** Module : ICLMarkers **
12 ** Authors: Christof Elbrechter **
13 ** **
14 ** **
15 ** GNU LESSER GENERAL PUBLIC LICENSE **
16 ** This file may be used under the terms of the GNU Lesser General **
17 ** Public License version 3.0 as published by the **
18 ** **
19 ** Free Software Foundation and appearing in the file LICENSE.LGPL **
20 ** included in the packaging of this file. Please review the **
21 ** following information to ensure the license requirements will **
22 ** be met: http://www.gnu.org/licenses/lgpl-3.0.txt **
23 ** **
24 ** The development of this software was supported by the **
25 ** Excellence Cluster EXC 277 Cognitive Interaction Technology. **
26 ** The Excellence Cluster EXC 277 is a grant of the Deutsche **
27 ** Forschungsgemeinschaft (DFG) in the context of the German **
28 ** Excellence Initiative. **
29 ** **
30 ********************************************************************/
31 
32 #pragma once
33 
34 #include <ICLUtils/CompatMacros.h>
35 #include <ICLCV/ImageRegion.h>
36 
39 
40 namespace icl{
41  namespace markers{
42 
43 
47  struct Data;
48 
50  Data *data;
51 
52  protected:
53 
56  public:
57 
60 
62  virtual void getFeatures(Fiducial::FeatureSet &dst)=0;
63 
65 
67  virtual void detect(std::vector<FiducialImpl*> &dst, const core::Img8u &image);
68 
70  virtual void detect(std::vector<FiducialImpl*> &dst, const std::vector<cv::ImageRegion> &regions) = 0;
71 
73  virtual void addOrRemoveMarkers(bool add, const utils::Any &which, const utils::ParamList &params)=0;
74  };
75 
76  } // namespace markers
77 }
78 
undocument this line if you encounter any issues!
Definition: Any.h:37
Data * data
internal hidden data pointer
Definition: FiducialDetectorPluginHierarchical.h:47
std::bitset<(int) FeatureCount > FeatureSet
FeatureSet class.
Definition: Fiducial.h:80
Extra abstraction layer that defines a basic skeleton for the detection of hierarchical fiducials.
Definition: FiducialDetectorPluginHierarchical.h:45
Utility structure that utilizes an std::map as parameter list.
Definition: ParamList.h:44
#define ICLMarkers_API
Definition: CompatMacros.h:180
Simple generic data type implementation that uses a string based data representation.
Definition: Any.h:109
Generic Interface class for FiducialDetector plugins.
Definition: FiducialDetectorPlugin.h:49