Giter Club home page Giter Club logo

berkeley_sfm's Introduction

Build Status License

Berkeley SfM is a structure from motion library created to explore new solutions to challenging 3D reconstruction problems (large scale, indoors, incremental, homogeneously textured, etc.). It is developed by Erik Nelson and David Fridovich-Keil, members of the Berkeley Vision and Learning Center (BVLC).

Status

This library is currently in development, and lacks most of the core components of a good SfM library. In other words, it doesn't do anything yet - Hang tight! We're both first-year PhD students developing this as a tool for our research, and are just getting started.

Overview

This repository is entirely written in C++, and is structured around the CMAKE cross-compilation paradigm. All source code is in the berkeley_sfm/src/cpp/ directory. We have also written extensive unit tests, which are automatically compiled and tested in continuous integration. The source code for these tests is stored in the berkeley_sfm/test/ directory, and the test executable will be compiled into berkeley_sfm/build/run_tests. Tests can be run using make check.

Build Instructions

We follow the standard CMAKE build scheme. Just download the repository and from the top directory type:

mkdir build && cd build && cmake .. && make

Optionally, to run tests:

make check

We have tested the build process on Mac OSX Yosemite and El Capitan, and on Ubuntu 14.04 Trusty. One difficulty we did encounter is the potential conflict between multiple copies of OpenCV on a system. For example, if you run Anaconda's (and/or Homebrew's) version of OpenCV it may not be compiled properly such that it will link to our repository. If you run into this problem, we suggest uninstalling all versions of OpenCV and rebuilding it from source with the default compiler on your system (not Homebrew's version of gcc/g++).

API Documentation

Auto-generated Doxygen API documentation is available from here. Doxygen creates documentation from inline comments in project source and header files. Even though our comments are not tailored to Doxygen best-practices, it seems to do an okay job.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.