Blender V4.3
libmv::Tracks Class Reference

#include <tracks.h>

Public Member Functions

 Tracks ()
 
 Tracks (const Tracks &other)
 
 Tracks (const vector< Marker > &markers)
 Construct a new tracks object using the given markers to start.
 
void Insert (int image, int track, double x, double y, double weight=1.0)
 
vector< MarkerAllMarkers () const
 Returns all the markers.
 
vector< MarkerMarkersForTrack (int track) const
 Returns all the markers belonging to a track.
 
vector< MarkerMarkersInImage (int image) const
 Returns all the markers visible in image.
 
vector< MarkerMarkersInBothImages (int image1, int image2) const
 Returns all the markers visible in image1 and image2.
 
vector< MarkerMarkersForTracksInBothImages (int image1, int image2) const
 
Marker MarkerInImageForTrack (int image, int track) const
 Returns the marker in image belonging to track.
 
void RemoveMarkersForTrack (int track)
 Removes all the markers belonging to track.
 
void RemoveMarker (int image, int track)
 Removes the marker in image belonging to track.
 
int MaxImage () const
 Returns the maximum image identifier used.
 
int MaxTrack () const
 Returns the maximum track identifier used.
 
int NumMarkers () const
 Returns the number of markers.
 

Detailed Description

The Tracks class stores reconstruction markers .

The Tracks container is intended as the store of correspondences between images, which must get created before any 3D reconstruction can take place.

The container has several fast lookups for queries typically needed for structure from motion algorithms, such as Marker

Definition at line 65 of file libmv/simple_pipeline/tracks.h.

Constructor & Destructor Documentation

◆ Tracks() [1/3]

libmv::Tracks::Tracks ( )
inline

Definition at line 67 of file libmv/simple_pipeline/tracks.h.

◆ Tracks() [2/3]

libmv::Tracks::Tracks ( const Tracks & other)

Definition at line 31 of file libmv/simple_pipeline/tracks.cc.

◆ Tracks() [3/3]

libmv::Tracks::Tracks ( const vector< Marker > & markers)
explicit

Construct a new tracks object using the given markers to start.

Definition at line 35 of file libmv/simple_pipeline/tracks.cc.

Member Function Documentation

◆ AllMarkers()

vector< Marker > libmv::Tracks::AllMarkers ( ) const

Returns all the markers.

Definition at line 52 of file libmv/simple_pipeline/tracks.cc.

Referenced by libmv::InternalReprojectionError(), and libmv::InvertIntrinsicsForTracks().

◆ Insert()

void libmv::Tracks::Insert ( int image,
int track,
double x,
double y,
double weight = 1.0 )

Inserts a marker into the set. If there is already a marker for the given image and track, the existing marker is replaced. If there is no marker for the given image and track, a new one is added.

image and track are the keys used to retrieve the markers with the other methods in this class.

weight is used by bundle adjustment and weight means how much the track affects on a final solution.

Note
To get an identifier for a new track, use + 1.

Definition at line 38 of file libmv/simple_pipeline/tracks.cc.

References image(), x, and y.

◆ MarkerInImageForTrack()

Marker libmv::Tracks::MarkerInImageForTrack ( int image,
int track ) const

Returns the marker in image belonging to track.

Definition at line 122 of file libmv/simple_pipeline/tracks.cc.

◆ MarkersForTrack()

vector< Marker > libmv::Tracks::MarkersForTrack ( int track) const

Returns all the markers belonging to a track.

Definition at line 66 of file libmv/simple_pipeline/tracks.cc.

References markers.

Referenced by libmv_reprojectionErrorForTrack().

◆ MarkersForTracksInBothImages()

vector< Marker > libmv::Tracks::MarkersForTracksInBothImages ( int image1,
int image2 ) const

Returns the markers in image1 and image2 which have a common track.

This is not the same as the union of the markers in image1 and image2; each marker is for a track that appears in both images.

Definition at line 87 of file libmv/simple_pipeline/tracks.cc.

References markers.

Referenced by libmv_solveReconstruction(), and libmv::SelectKeyframesBasedOnGRICAndVariance().

◆ MarkersInBothImages()

vector< Marker > libmv::Tracks::MarkersInBothImages ( int image1,
int image2 ) const

Returns all the markers visible in image1 and image2.

Definition at line 76 of file libmv/simple_pipeline/tracks.cc.

References markers.

Referenced by libmv::SelectKeyframesBasedOnGRICAndVariance().

◆ MarkersInImage()

vector< Marker > libmv::Tracks::MarkersInImage ( int image) const

Returns all the markers visible in image.

Definition at line 56 of file libmv/simple_pipeline/tracks.cc.

References markers.

Referenced by libmv_reprojectionErrorForImage().

◆ MaxImage()

int libmv::Tracks::MaxImage ( ) const

Returns the maximum image identifier used.

Definition at line 152 of file libmv/simple_pipeline/tracks.cc.

Referenced by libmv::SelectKeyframesBasedOnGRICAndVariance().

◆ MaxTrack()

int libmv::Tracks::MaxTrack ( ) const

Returns the maximum track identifier used.

Definition at line 161 of file libmv/simple_pipeline/tracks.cc.

◆ NumMarkers()

int libmv::Tracks::NumMarkers ( ) const

Returns the number of markers.

Definition at line 170 of file libmv/simple_pipeline/tracks.cc.

◆ RemoveMarker()

void libmv::Tracks::RemoveMarker ( int image,
int track )

Removes the marker in image belonging to track.

Definition at line 142 of file libmv/simple_pipeline/tracks.cc.

◆ RemoveMarkersForTrack()

void libmv::Tracks::RemoveMarkersForTrack ( int track)

Removes all the markers belonging to track.

Definition at line 132 of file libmv/simple_pipeline/tracks.cc.


The documentation for this class was generated from the following files: