Multi marker that is constructed by first calculating the marker poses directly relative to base marker and then filtering the results using e.g. median filter. More...
#include <MultiMarkerFiltered.h>
Public Member Functions | |
void | MeasurementsReset () |
Reset the measurements. | |
MultiMarkerFiltered (std::vector< int > &indices) | |
Constructor. | |
void | PointCloudAverage (int marker_id, double edge_length, Pose &pose) |
Updates the 3D point cloud by averaging the calculated results. | |
template<class M > | |
double | Update (const std::vector< M > *markers, Camera *cam, Pose &pose, IplImage *image=0) |
Updates the marker field and camera pose. | |
~MultiMarkerFiltered () | |
Destructor. | |
Protected Member Functions | |
double | _Update (MarkerIterator &begin, MarkerIterator &end, Camera *cam, Pose &pose, IplImage *image) |
Protected Attributes | |
FilterMedian * | pointcloud_filtered |
Static Protected Attributes | |
static const int | filter_buffer_max = 15 |
Multi marker that is constructed by first calculating the marker poses directly relative to base marker and then filtering the results using e.g. median filter.
This can be used to initialize the marker field for MultiMarkerBundle class.
Definition at line 45 of file MultiMarkerFiltered.h.
alvar::MultiMarkerFiltered::MultiMarkerFiltered | ( | std::vector< int > & | indices | ) |
Constructor.
indices | Vector of marker codes that are included into multi marker. The first element defines origin. |
Definition at line 31 of file MultiMarkerFiltered.cpp.
Destructor.
Definition at line 40 of file MultiMarkerFiltered.cpp.
double alvar::MultiMarkerFiltered::_Update | ( | MarkerIterator & | begin, |
MarkerIterator & | end, | ||
Camera * | cam, | ||
Pose & | pose, | ||
IplImage * | image | ||
) | [protected] |
Definition at line 68 of file MultiMarkerFiltered.cpp.
void alvar::MultiMarkerFiltered::MeasurementsReset | ( | ) | [inline] |
Reset the measurements.
Definition at line 89 of file MultiMarkerFiltered.h.
void alvar::MultiMarkerFiltered::PointCloudAverage | ( | int | marker_id, |
double | edge_length, | ||
Pose & | pose | ||
) |
Updates the 3D point cloud by averaging the calculated results.
marker_id | The id of the marker whose corner positions are updated. |
edge_length | The edge length of the marker. |
pose | Current camera pose that is used to estimate the marker position. |
Definition at line 45 of file MultiMarkerFiltered.cpp.
double alvar::MultiMarkerFiltered::Update | ( | const std::vector< M > * | markers, |
Camera * | cam, | ||
Pose & | pose, | ||
IplImage * | image = 0 |
||
) | [inline] |
Updates the marker field and camera pose.
markers | Markers seen by the camera. |
camera | Camera object used to detect markers. |
pose | Current camera pose. This is also updated. |
image | If != 0 some visualization will be drawn. |
Reimplemented from alvar::MultiMarker.
Definition at line 77 of file MultiMarkerFiltered.h.
const int alvar::MultiMarkerFiltered::filter_buffer_max = 15 [static, protected] |
Definition at line 48 of file MultiMarkerFiltered.h.
Definition at line 49 of file MultiMarkerFiltered.h.