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: