SLAM
pointsetregistration.h
1 #ifndef POINTSETREGISTRATION_H
2 #define POINTSETREGISTRATION_H
3 
4 #include <QObject>
5 #include <armadillo>
6 
7 #include "datastructures.h"
8 
9 using namespace arma;
10 
16 class PointSetRegistration : public QObject
17 {
18  Q_OBJECT
19 
20 public:
22  void setAreas(area_t *first, area_t *second);
23  void setMatrices(mat &first, mat &second);
24  void start(area_t &result);
25  void start(mat &result);
26 
27 private:
28  mat rotationMatrixR;
29  mat corespondenceMatrixP;
30  mat firstSetOfPoints;
31  mat secondSetOfPoints;
32  vec translationT;
33  double sigma;
34  area_t *first;
35  area_t *second;
36 
37  normalization_t normalize(mat &first, mat &second);
38 
39  void inicialization(area_t *areaFirst, area_t *areaSecond);
40  void inicialization(mat &first, mat &second);
41  void denormalize(mat &result, const normalization_t &normal) const;
42  void startAlgorithm(mat &T);
43 
44  double scale(const mat &mat);
45  double vectorSize(const vec &vec1, const vec &vec2);
46  double find_P(const mat &X, const mat &Y, double sigma2, float outliers, vec &P1, vec &Pt1, mat &PX);
47 
48 };
49 #endif // POINTSETREGISTRATION_H
Hlavní struktura aplikace. V této struktůře jsou uložena všechna naměřená data a představuje jednu ot...
Definition: datastructures.h:71
Třída provádějící zarovnávání mračen bodů.
Definition: pointsetregistration.h:16
Struktura k ukládání parametrů normalizace mračna bodů.
Definition: datastructures.h:113