HoughSpace2D.h
Go to the documentation of this file.
1 // *****************************************************************
2 // Filename: HoughSpace2D.h
3 // Copyright: Pedram Azad, Chair Prof. Dillmann (IAIM),
4 // Institute for Computer Science and Engineering (CSE),
5 // University of Karlsruhe. All rights reserved.
6 // Author: Pedram Azad
7 // Date: 2005
8 // *****************************************************************
9 
10 
11 #ifndef _HOUGH_SPACE_2D_H_
12 #define _HOUGH_SPACE_2D_H_
13 
14 
15 // *****************************************************************
16 // necessary includes
17 // *****************************************************************
18 
20 
21 
22 // *****************************************************************
23 // define
24 // *****************************************************************
25 
26 
27 
28 // *****************************************************************
29 // forward declarations
30 // *****************************************************************
31 
32 class CFeatureEntry;
33 class CByteImage;
34 struct Mat3d;
35 struct Vec2d;
36 
37 
38 
39 // *****************************************************************
40 // CFeatureSet
41 // *****************************************************************
42 
44 {
45 public:
46  // constructor
47  CHoughSpace2D(int nImageWidth, int nImageHeight, float fScale);
48 
49  // CFeatureSet
51 
52 
53  // public methods
54  void InitNextRun();
55  void Vote(const CFeatureEntry *pFeature, const CFeatureEntry *pMatchedFeature, const Vec2d &center);
56  bool CheckAndDetermineHomography(Mat3d &A, Vec2d &centroid, int &nResultMatches, float &fResultError, CByteImage *pResultImage = 0);
57 
58  void SetRecognitionThresholds(int nMinValidFeatures, float fMaxError);
59 
60  void WriteHoughSpaceImage();
61 
65 
66  void SetVerbose(bool bVerbose) { m_bVerbose = bVerbose; }
67 
68 
69 private:
70  // private class definitions
72  {
73  public:
75  {
76  nID = 0;
77  nHits = 0;
78  }
79 
80  int nID;
81  unsigned short nHits;
82  };
83 
85  {
86  public:
87  CFeaturePair(const CFeatureEntry *pFeature_, const CFeatureEntry *pMatchedFeature_) : pFeature(pFeature_), pMatchedFeature(pMatchedFeature_)
88  {
89  }
90 
93  int offsets[6];
94  };
95 
96  // private attributes
98  int m_nWidth;
99  int m_nHeight;
100  float m_fScale;
105 
107 
111 
113  float m_fMaxError;
114 
116 };
117 
118 
119 
120 #endif /* _HOUGH_SPACE_2D_H_ */
void SetRecognitionThresholds(int nMinValidFeatures, float fMaxError)
const CFeatureEntry * pMatchedFeature
Definition: HoughSpace2D.h:92
bool CheckAndDetermineHomography(Mat3d &A, Vec2d &centroid, int &nResultMatches, float &fResultError, CByteImage *pResultImage=0)
CHoughSpace2DBin ** m_ppHoughSpace
Definition: HoughSpace2D.h:97
Base class for the representation of local features.
Definition: FeatureEntry.h:72
void Vote(const CFeatureEntry *pFeature, const CFeatureEntry *pMatchedFeature, const Vec2d &center)
Data structure for the representation of 8-bit grayscale images and 24-bit RGB (or HSV) color images ...
Definition: ByteImage.h:80
Vec2d * m_pValidFeatures
Definition: HoughSpace2D.h:108
float m_fBestScale
Definition: HoughSpace2D.h:104
void InitNextRun()
void WriteHoughSpaceImage()
int m_nMinValidFeatures
Definition: HoughSpace2D.h:112
CFeaturePair(const CFeatureEntry *pFeature_, const CFeatureEntry *pMatchedFeature_)
Definition: HoughSpace2D.h:87
const CFeatureEntry * pFeature
Definition: HoughSpace2D.h:91
const Vec2d * GetValidFeatures()
Definition: HoughSpace2D.h:62
Data structure for the representation of a 2D vector.
Definition: Math2d.h:82
const Vec2d * GetMatchedFeatures()
Definition: HoughSpace2D.h:63
CDynamicArray * m_pPairList
Definition: HoughSpace2D.h:106
Vec2d * m_pMatchedFeatures
Definition: HoughSpace2D.h:109
CHoughSpace2D(int nImageWidth, int nImageHeight, float fScale)
Data structure for the representation of a 3x3 matrix.
Definition: Math3d.h:93
int GetNumberOfValidFeatures()
Definition: HoughSpace2D.h:64
void SetVerbose(bool bVerbose)
Definition: HoughSpace2D.h:66


asr_ivt
Author(s): Allgeyer Tobias, Hutmacher Robin, Kleinert Daniel, Meißner Pascal, Scholz Jonas, Stöckle Patrick
autogenerated on Mon Dec 2 2019 03:47:28