Simple structure from motion implementation using CameraEC , MarkerDetectorEC and TrackerFeaturesEC.
More...
#include <SfM.h>
List of all members.
Classes |
class | Feature |
| Extended version of ExternalContainer structure used internally in SimpleSfM. More...
|
Public Member Functions |
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.
|
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.
|
bool | AddMultiMarker (MultiMarkerEC *mm) |
| Add MultiMarker to be a basis for tracking. It is good idea to call SetResetPoint after these.
|
void | Clear () |
| Clear all tracked features.
|
void | Draw (IplImage *rgba) |
| Draw debug information about the tracked features and detected markers.
|
CameraEC * | GetCamera () |
| Get the camera used internally. You need to use this to set correct camera calibration (see SamplePointcloud)
|
Pose * | GetPose () |
| Get the estimated pose.
|
void | Reset (bool reset_also_triangulated=true) |
| Reset the situation back to the point it was when SetResetPoint was called.
|
void | SetResetPoint () |
| Remember the current state and return here when the Reset is called.
|
void | SetScale (double s) |
| Set the suitable scale to be used. This affects quite much how the tracking behaves (when features are triangulated etc.)
|
| SimpleSfM () |
| Constructor.
|
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.
|
bool | UpdateRotationsOnly (IplImage *image) |
| Update position assuming that user is more standing still and viewing the environment.
|
bool | UpdateTriangulateOnly (IplImage *image) |
| Update camera 6-DOF position using triangulated points only (This is the old version of Update)
|
Public Attributes |
std::map< int, Feature > | container |
| The map of all tracked features.
|
std::map< int, Feature > | container_triangulated |
Protected Attributes |
CameraEC | cam |
std::map< int, Feature > | container_reset_point |
std::map< int, Feature > | container_triangulated_reset_point |
MarkerDetectorEC< MarkerData > | marker_detector |
bool | markers_found |
std::string | multi_marker_file |
Pose | pose |
Pose | pose_difference |
bool | pose_ok |
Pose | pose_original |
double | scale |
TrackerFeaturesEC | tf |
bool | update_tri |
Detailed Description
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.
Constructor & Destructor Documentation
Constructor.
Definition at line 93 of file SfM.h.
Member Function Documentation
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.
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.
Reset the situation back to the point it was when SetResetPoint was called.
- Examples:
- SamplePointcloud.cpp.
Definition at line 66 of file SfM.cpp.
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 |
|
) |
| |
Update position assuming that user is more standing still and viewing the environment.
Definition at line 384 of file SfM.cpp.
Update camera 6-DOF position using triangulated points only (This is the old version of Update)
Definition at line 339 of file SfM.cpp.
Member Data Documentation
Definition at line 78 of file SfM.h.
Definition at line 75 of file SfM.h.
Definition at line 76 of file SfM.h.
Definition at line 79 of file SfM.h.
Definition at line 86 of file SfM.h.
Definition at line 85 of file SfM.h.
Definition at line 81 of file SfM.h.
Definition at line 89 of file SfM.h.
Definition at line 82 of file SfM.h.
Definition at line 88 of file SfM.h.
Definition at line 87 of file SfM.h.
Definition at line 80 of file SfM.h.
Definition at line 84 of file SfM.h.
The documentation for this class was generated from the following files: