Simple structure from motion implementation using CameraEC , MarkerDetectorEC and TrackerFeaturesEC.
More...
#include <SfM.h>
|
void | AddMarker (int marker_id, double edge_length, Pose &pose) |
| Add an marker to be a basis for tracking. It is good idea to call SetResetPoint after these. More...
|
|
bool | AddMultiMarker (const char *fname, FILE_FORMAT format=FILE_FORMAT_XML) |
| Add MultiMarker from file as a basis for tracking. It is good idea to call SetResetPoint after these. More...
|
|
bool | AddMultiMarker (MultiMarkerEC *mm) |
| Add MultiMarker to be a basis for tracking. It is good idea to call SetResetPoint after these. More...
|
|
void | Clear () |
| Clear all tracked features. More...
|
|
void | Draw (IplImage *rgba) |
| Draw debug information about the tracked features and detected markers. More...
|
|
CameraEC * | GetCamera () |
| Get the camera used internally. You need to use this to set correct camera calibration (see SamplePointcloud) More...
|
|
Pose * | GetPose () |
| Get the estimated pose. More...
|
|
void | Reset (bool reset_also_triangulated=true) |
| Reset the situation back to the point it was when SetResetPoint was called. More...
|
|
void | SetResetPoint () |
| Remember the current state and return here when the Reset is called. More...
|
|
void | SetScale (double s) |
| Set the suitable scale to be used. This affects quite much how the tracking behaves (when features are triangulated etc.) More...
|
|
| SimpleSfM () |
| Constructor. More...
|
|
bool | Update (IplImage *image, bool assume_plane=true, bool triangulate=true, float reproj_err_limit=5.f, float triangulate_angle=15.f) |
| Update position assuming that camera is moving with 6-DOF. More...
|
|
bool | UpdateRotationsOnly (IplImage *image) |
| Update position assuming that user is more standing still and viewing the environment. More...
|
|
bool | UpdateTriangulateOnly (IplImage *image) |
| Update camera 6-DOF position using triangulated points only (This is the old version of Update) More...
|
|
Simple structure from motion implementation using CameraEC , MarkerDetectorEC and TrackerFeaturesEC.
See SamplePointcloud for usage example.
- Examples:
- SamplePointcloud.cpp.
Definition at line 41 of file SfM.h.
alvar::SimpleSfM::SimpleSfM |
( |
| ) |
|
|
inline |
Constructor.
Definition at line 93 of file SfM.h.
void alvar::SimpleSfM::AddMarker |
( |
int |
marker_id, |
|
|
double |
edge_length, |
|
|
Pose & |
pose |
|
) |
| |
Add an marker to be a basis for tracking. It is good idea to call SetResetPoint after these.
- Examples:
- SamplePointcloud.cpp.
Definition at line 98 of file SfM.cpp.
Add MultiMarker to be a basis for tracking. It is good idea to call SetResetPoint after these.
Definition at line 94 of file SfM.cpp.
void alvar::SimpleSfM::Clear |
( |
| ) |
|
void alvar::SimpleSfM::Draw |
( |
IplImage * |
rgba | ) |
|
CameraEC * alvar::SimpleSfM::GetCamera |
( |
| ) |
|
Get the camera used internally. You need to use this to set correct camera calibration (see SamplePointcloud)
- Examples:
- SamplePointcloud.cpp.
Definition at line 85 of file SfM.cpp.
Pose * alvar::SimpleSfM::GetPose |
( |
| ) |
|
void alvar::SimpleSfM::Reset |
( |
bool |
reset_also_triangulated = true | ) |
|
Reset the situation back to the point it was when SetResetPoint was called.
- Examples:
- SamplePointcloud.cpp.
Definition at line 66 of file SfM.cpp.
void alvar::SimpleSfM::SetResetPoint |
( |
| ) |
|
void alvar::SimpleSfM::SetScale |
( |
double |
s | ) |
|
|
inline |
Set the suitable scale to be used. This affects quite much how the tracking behaves (when features are triangulated etc.)
- Examples:
- SamplePointcloud.cpp.
Definition at line 101 of file SfM.h.
bool alvar::SimpleSfM::Update |
( |
IplImage * |
image, |
|
|
bool |
assume_plane = true , |
|
|
bool |
triangulate = true , |
|
|
float |
reproj_err_limit = 5.f , |
|
|
float |
triangulate_angle = 15.f |
|
) |
| |
bool alvar::SimpleSfM::UpdateRotationsOnly |
( |
IplImage * |
image | ) |
|
Update position assuming that user is more standing still and viewing the environment.
Definition at line 384 of file SfM.cpp.
bool alvar::SimpleSfM::UpdateTriangulateOnly |
( |
IplImage * |
image | ) |
|
Update camera 6-DOF position using triangulated points only (This is the old version of Update)
Definition at line 339 of file SfM.cpp.
Definition at line 78 of file SfM.h.
std::map<int, Feature> alvar::SimpleSfM::container |
std::map<int, Feature> alvar::SimpleSfM::container_reset_point |
|
protected |
Definition at line 75 of file SfM.h.
std::map<int, Feature> alvar::SimpleSfM::container_triangulated |
std::map<int, Feature> alvar::SimpleSfM::container_triangulated_reset_point |
|
protected |
Definition at line 76 of file SfM.h.
Definition at line 79 of file SfM.h.
bool alvar::SimpleSfM::markers_found |
|
protected |
Definition at line 86 of file SfM.h.
std::string alvar::SimpleSfM::multi_marker_file |
|
protected |
Definition at line 85 of file SfM.h.
Pose alvar::SimpleSfM::pose |
|
protected |
Definition at line 81 of file SfM.h.
Pose alvar::SimpleSfM::pose_difference |
|
protected |
Definition at line 89 of file SfM.h.
bool alvar::SimpleSfM::pose_ok |
|
protected |
Definition at line 82 of file SfM.h.
Pose alvar::SimpleSfM::pose_original |
|
protected |
Definition at line 88 of file SfM.h.
double alvar::SimpleSfM::scale |
|
protected |
Definition at line 87 of file SfM.h.
Definition at line 80 of file SfM.h.
bool alvar::SimpleSfM::update_tri |
|
protected |
Definition at line 84 of file SfM.h.
The documentation for this class was generated from the following files: