Třída provádějící zarovnávání mračen bodů.
...
#include <pointsetregistration.h>
|
void | setAreas (area_t *first, area_t *second) |
| Vložení oblastí, na kterých bude prováděna registrace. ...
|
|
void | setMatrices (mat &first, mat &second) |
| Vložení referancí na oblasti, reprezentovány maticemi. Na těchto oblastech bude prováděna registrace. ...
|
|
void | start (area_t &result) |
| Start registračního algoritmu. ...
|
|
void | start (mat &result) |
| Start registračního algoritmu pro oblasti zadané maticemi. ...
|
|
|
normalization_t | normalize (mat &first, mat &second) |
| Normalizace na bezrozměrné veličiny, mračen bodů. ...
|
|
void | inicialization (area_t *areaFirst, area_t *areaSecond) |
| Inicializace registračního algoritmu. ...
|
|
void | inicialization (mat &first, mat &second) |
| Inicializace pro oblasti (mračna bodů) zadané maticemi. ...
|
|
void | denormalize (mat &result, const normalization_t &normal) const |
| Denormalizace mračen bodů. ...
|
|
void | startAlgorithm (mat &T) |
| Samotná registrace mračen bodů. ...
|
|
double | scale (const mat &mat) |
| Výpočet měřítka při normalizaci. ...
|
|
double | vectorSize (const vec &vec1, const vec &vec2) |
| Velikost vektoru, daného dvěmi body. ...
|
|
double | find_P (const mat &X, const mat &Y, double sigma2, float outliers, vec &P1, vec &Pt1, mat &PX) |
| Algoritmus k hledání produktů matice P. Pro více info viz. dokumentace k FGT. ...
|
|
|
mat | rotationMatrixR |
|
mat | corespondenceMatrixP |
|
mat | firstSetOfPoints |
|
mat | secondSetOfPoints |
|
vec | translationT |
|
double | sigma |
|
area_t * | first |
|
area_t * | second |
|
Třída provádějící zarovnávání mračen bodů.
Implementovaná metoda Souvislého posunu bodů.
void PointSetRegistration::denormalize |
( |
mat & |
result, |
|
|
const normalization_t & |
normal |
|
) |
| const |
|
private |
Denormalizace mračen bodů.
- Parametry
-
result | - Mračno bodů k denormalizaci. |
normal | - Normalizační parametry. |
double PointSetRegistration::find_P |
( |
const mat & |
X, |
|
|
const mat & |
Y, |
|
|
double |
sigma2, |
|
|
float |
outliers, |
|
|
vec & |
P1, |
|
|
vec & |
Pt1, |
|
|
mat & |
PX |
|
) |
| |
|
private |
Algoritmus k hledání produktů matice P. Pro více info viz. dokumentace k FGT.
- Parametry
-
X | - První mračno bodů. |
Y | - Druhé mračno bodů. |
sigma2 | - Aktuální rozptyl. |
outliers | - Kolik procent bodů jsou tzv. outliers. |
P1 | - Výsledný produkt FGT. |
Pt1 | - Výsledný produkt FGT. |
PX | - Výsledný produkt FGT. |
- Návratová hodnota
- Míra o kolik se mračno pohlo.
void PointSetRegistration::inicialization |
( |
area_t * |
areaFirst, |
|
|
area_t * |
areaSecond |
|
) |
| |
|
private |
Inicializace registračního algoritmu.
Odřízne se přebytečne body, aby oba mračna měla stejný počet bodů. Překopírování hodnot do matic.
- Parametry
-
areaFirst | - První oblast. |
areaSecond | - Druhá oblast. |
void PointSetRegistration::inicialization |
( |
mat & |
first, |
|
|
mat & |
second |
|
) |
| |
|
private |
Inicializace pro oblasti (mračna bodů) zadané maticemi.
- Parametry
-
first | - První oblast. |
second | - Druhá oblast. |
normalization_t PointSetRegistration::normalize |
( |
mat & |
first, |
|
|
mat & |
second |
|
) |
| |
|
private |
Normalizace na bezrozměrné veličiny, mračen bodů.
- Parametry
-
first | - První mračno bodů. |
second | - Druhé mračno bodů. |
- Návratová hodnota
- Parametry výsledné normalizace.
double PointSetRegistration::scale |
( |
const mat & |
mat | ) |
|
|
private |
Výpočet měřítka při normalizaci.
- Parametry
-
- Návratová hodnota
- Výsledné měřítko.
void PointSetRegistration::setAreas |
( |
area_t * |
first, |
|
|
area_t * |
second |
|
) |
| |
Vložení oblastí, na kterých bude prováděna registrace.
- Parametry
-
first | - První směrník na oblast. |
second | - Druhý směrník na oblast. |
void PointSetRegistration::setMatrices |
( |
mat & |
first, |
|
|
mat & |
second |
|
) |
| |
Vložení referancí na oblasti, reprezentovány maticemi. Na těchto oblastech bude prováděna registrace.
- Parametry
-
first | - První reference na oblast. |
second | - Druhá reference na oblast. |
void PointSetRegistration::start |
( |
area_t & |
result | ) |
|
Start registračního algoritmu.
V první fázi probíhá normalizace matic na bezrozměrné hodnoty. Následně se vypočítá rozptyl sigma a spustí se registrace. Výsledek registrace, matice T se nakonec denormalizuje a vrátí se jako oblast area_t.
- Parametry
-
result | - Transformovaná (zarovnaná) oblast. |
void PointSetRegistration::start |
( |
mat & |
result | ) |
|
void PointSetRegistration::startAlgorithm |
( |
mat & |
T | ) |
|
|
private |
Samotná registrace mračen bodů.
Na začátku probíha inicializace, potom se spouští registrace ve smyčce while s ukončovacími podmínkami. V každém kroce se vypočítá P, A, R, s, t, T.
- Parametry
-
T | - Výsledné zarovnané mračno bodů. |
double PointSetRegistration::vectorSize |
( |
const vec & |
vec1, |
|
|
const vec & |
vec2 |
|
) |
| |
|
private |
Velikost vektoru, daného dvěmi body.
- Parametry
-
vec1 | - První bod (řádek matice). |
vec2 | - Druhý bod (řádek matice). |
- Návratová hodnota
- Výsledná velikost vektoru.
Dokumentace pro tuto třídu byla generována z následujících souborů: