Skip to content
This repository

The multi-view reconstruction library

branch: master

This branch is 0 commits ahead and 0 commits behind master

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 contrib
Octocat-spinner-32 doc
Octocat-spinner-32 extras
Octocat-spinner-32 src
Octocat-spinner-32 .gitignore
Octocat-spinner-32 AUTHORS
Octocat-spinner-32 CMakeLists.txt
Octocat-spinner-32 ChangeLog
Octocat-spinner-32 LICENSE
Octocat-spinner-32 Makefile
Octocat-spinner-32 codereview.settings
Octocat-spinner-32 cpplint

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

Something went wrong with that request. Please try again.