Blender Git Loki
Git Commits -> Revision cb21085
Revision cb21085 by Joseph Mansfield (soc-2013-motion_track) 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)
/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)