ProjectedTextures
Prototype software for spacial augmented reality applications.
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Enumerations
Enumerator
Macros
ShaderLamps
src
FiducialTracker.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <ARToolKitPlus/TrackerSingleMarker.h>
4
#include <vector>
5
#include <QQueue>
6
#include <QMap>
7
8
#include "
Tracker.h
"
9
#include "
Camera.h
"
10
11
using
ARToolKitPlus::TrackerSingleMarker;
12
16
struct
ARToolKitConfig
{
17
float
patternWidth
;
18
bool
useBCH
;
19
int
maxNumPatterns
;
20
int
threshold
;
22
};
23
27
struct
Marker
{
28
int
id
;
29
bool
tracked
;
30
float
confidence
;
31
QMatrix4x4
pose
;
32
};
33
38
struct
MarkerSet
{
39
QString
name
;
40
QMap<int, QMatrix4x4>
markers
;
43
bool
tracked
;
45
Similarity
pose
;
46
QQueue<Similarity>
stabilisationQueue
;
47
cv::KalmanFilter
KF
;
48
int
timeSinceLastTrack
;
50
};
51
52
53
59
class
FiducialTracker
:
60
public
Tracker
61
62
{
63
Q_OBJECT
64
65
public
:
73
FiducialTracker
(
Camera
*
cam
,
ARToolKitConfig
artkc,
FilterConfig
filterConfig
,
74
QString
originMarkerSet
,
bool
objectTracker
);
75
~FiducialTracker
(
void
);
76
77
78
void
setCamera
(
Camera
*cam);
80
void
addMarkerToSet
(QString setName,
int
markerId, QMatrix4x4 offset);
85
void
addSubscription
(
int
trackableId, QString markerSetName);
88
bool
isObjectTracker
(){
return
objectTracker
;}
89
Similarity
getOrigin
(){
return
markerSets
[
originMarkerSet
].pose;}
90
Camera
*
getCamera
(){
return
cam
;}
92
bool
isTracked
(
int
trackableId);
93
Similarity
getPose
(
int
trackableId);
95
QString
getMarkerSetName
(
int
trackableId);
99
protected
:
100
//members
101
TrackerSingleMarker *
tracker
;
102
Camera
*
cam
;
103
volatile
bool
newFrame
;
107
QMap<int, Marker>
markers
;
108
QMap<QString, MarkerSet>
markerSets
;
109
QMap<int, QString>
subscriptions
;
113
const
QString
originMarkerSet
;
116
bool
originLocked
;
118
bool
objectTracker
;
121
//functions
122
void
update
();
126
public
slots:
127
void
notifyNewFrame
();
128
void
lockOrigin
(
int
state);
129
void
enableKalman
(
int
enable);
131
signals:
132
void
newNumDetectedMarkers
(
int
num);
133
};
134
Generated on Fri Feb 19 2016 11:04:41 for ProjectedTextures by
1.8.4