Blender Git Loki

Git Commits -> Revision cb21085

September 10, 2013, 21:07 (GMT)
Modify data structure for storing tracks

The Tracks data structure stores Markers. The current design has it so that a marker's image identifier denotes the frame from the associated camera that the marker belongs to. That is, it treats the image identifier more as a frame identifier. You could have markers in image 0 for camera 0 and image 0 for camera 1 and they wouldn't be considered to be in the same image.

However, this design doesn't make much sense because the reconstruction algorithms don't care about frames or the cameras from which a frame came, only that there is a set of images observing the same scene. A better design is for all frames from all cameras to have unique image identifiers. The camera identifiers can then denote a subset of those images. No image captured by camera 0 will have the same image identifier as images from camera 1. This way, the algorithms can continue to just treat all frames as one big set of images and the camera identifier provides the association of an image to the camera it originated from. This makes it much easier to implement multicamera reconstruction without significant changes to the way libmv behaves.

Commit Details:

Full Hash: cb21085634a31dad3dc7b4381f7b6be39c20940d
SVN Revision: 60025
Parent Commit: ce17c21
Lines Changed: +168, -166

14 Modified Paths:

/extern/libmv/libmv-capi.cc (+9, -8) (Diff)
/extern/libmv/libmv-capi.h (+2, -2) (Diff)
/extern/libmv/libmv-capi_stub.cc (+2, -2) (Diff)
/extern/libmv/libmv/simple_pipeline/bundle.cc (+4, -5) (Diff)
/extern/libmv/libmv/simple_pipeline/initialize_reconstruction.cc (+4, -4) (Diff)
/extern/libmv/libmv/simple_pipeline/intersect.cc (+6, -6) (Diff)
/extern/libmv/libmv/simple_pipeline/keyframe_selection.cc (+4, -4) (Diff)
/extern/libmv/libmv/simple_pipeline/modal_solver.cc (+2, -2) (Diff)
/extern/libmv/libmv/simple_pipeline/pipeline.cc (+6, -6) (Diff)
/extern/libmv/libmv/simple_pipeline/reconstruction.cc (+35, -55) (Diff)
/extern/libmv/libmv/simple_pipeline/reconstruction.h (+30, -25) (Diff)
/extern/libmv/libmv/simple_pipeline/reconstruction_scale.cc (+1, -1) (Diff)
/extern/libmv/libmv/simple_pipeline/tracks.cc (+37, -27) (Diff)
/extern/libmv/libmv/simple_pipeline/tracks.h (+26, -19) (Diff)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021