The multi-view reconstruction library
C++ Python CMake C QMake GLSL
Pull request Compare This branch is 368 commits ahead, 7 commits behind Nazg-Gul:master.
Latest commit 504e0bb May 4, 2015 @pablospe pablospe Merge pull request #5 from edgarriba/master
code compiling with opencv3

GSoC 2012 - SfM: adapt libmv for OpenCV

This is a collaborative effort to port libmv to OpenCV. libmv is a Structure from Motion (SfM) library, which is divided into different modules (image/detector/descriptor/multiview) that allow to resolve part of the SfM process. We are focused on the muliview functionalities, trying to port them to OpenCV.

Quick links:


  • Mentors: Vincent Rabaud, Ilya Lysenkov
  • Students: Pablo Speciale, Srimal Jayawardena

Github repository


To compile CMake is used:


How to compile

On Linux,

mkdir bin-opt
cd bin-opt
cmake ../src/

An alternative way is using the top-level Makefile, just doing:


Compiling for debug,

make debug

Documentation (internal)

make documentation
cd bin-opt/doc/
open 'index.html' file

Documentation content:

  • ToDo
  • Detailed TODO
  • Docs on what has been done
  • Guidelines for coding
  • Datasets to use
  • Progress

Click here to see a preview of our internal documentation.

Note: github does not include recursively '.rst' files, so this preview is incomplete. See important sections like: Detailed TODO and Progress.

Test cases

cd bin-opt

Note 1: the test case Sfm_simple_pipeline.backyard takes time, so it can be skipped using gtest options:

cd bin-opt
./bin/tests/sfm_tests --gtest_filter=-Sfm_simple_pipeline.backyard

Note 2: if you want to see the data with blender, take a look at:

blender ./src/libmv_opencv/testdata/cv/sfm/backyard.blend


If you have troubles compiling the project, use the development version of OpenCV:

There was a bug in OpenCV, and it was fixed here:

Mail list

Google Group:!forum/libmv_gsoc