forked from snavely/bundler_sfm
-
Notifications
You must be signed in to change notification settings - Fork 0
/
INSTALL.txt
74 lines (61 loc) · 3.48 KB
/
INSTALL.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
--------------------------------------------------------------------------
Bundler Installation Guide
copyright 2009-2013 Noah Snavely (snavely@cs.cornell.edu)
based on the Photo Tourism work of Noah Snavely, Steven M. Seitz,
(University of Washington) and Richard Szeliski (Microsoft Research)
For more technical information, visit http://phototour.cs.washington.edu
The source provided in this distribution can be accessed at
https://github.com/snavely/bundler_sfm
or at
http://phototour.cs.washington.edu/bundler/
--------------------------------------------------------------------------
This distribution contains source code for Bundler as well as several
libraries and utility programs. Note that you'll need several other
libraries installed on your system in order to successfully compile
and link Bundler. Note that the binary distribution is *highly
recommended*, as compiling from source is currently much less
user-friendly than using the pre-compiled binaries. Compilation has
been tested on Linux, but has also worked under Windows using Cygwin
and Visual Studio 2005.
Bundler relies on several libraries. Reference implementations from
netlib are included with this distribution (and available from
www.netlib.org, but you may want to install and link to optimized
versions (e.g., GotoBLAS, or the Intel MKL)). In Ubuntu, LAPACK,
BLAS, and MINPACK and their dependencies can all be installed as
standard packages. The required libraries are:
- LAPACK (the Linear Algebra PACKage)
- BLAS (Basic Linear Algebra Subprograms)
- CBLAS (C interface to BLAS)
(Note that LAPACK, BLAS, and CBLAS implementations are also
provided as part of Intel's Math Kernel Library -- these
implementations can be significantly faster than the ones linked
to here.)
- MINPACK (non-linear minimization library)
- f2c (fortran to C library)
- gfortran (GNU Fortran compiler package)
If you install alternate versions of these libraries, you may need to
edit the Bundler Makefile (src/Makefile) to make sure that these
libraries are all visible at link-time (or just copy the compiled
libraries to the $(BASE_PATH)/lib directory). In addition to these
libraries, the standard libjpeg and libz libraries must be installed
on your system.
This distribution also contains a modified version of the Approximate
Nearest Neighbors (ANN) v1.1 library of David M. Mount and Sunil Arya
(http://www.cs.umd.edu/~mount/ANN/), and the Sparse Bundle Adjustment
(SBA) v.1.2.1 package of Manolis Lourakis and Antonis Argyros
(http://www.ics.forth.gr/~lourakis/sba/).
On a Linux (or cygwin) system, typing "make" in the base directory
will compile Bundler and its dependencies (assuming all goes well).
Upon successful compilation, an executable called 'bundler' will be
copied to the bin directory, along with an executable called
'KeyMatchAll'. Note that bundler optionally can use Ceres solver for
bundle adjustment (the default solver is SBA, but Ceres is often much
faster). Assuming you have installed Ceres and its dependencies, you
can enable compilation with Ceres by editing 'src/Makefile' and
uncommenting the USE_CERES=true line. If you are using RunBundler.sh
to run the bundler pipeline, you will also need to create a
RunBundler.sh config file with the line USE_CERES=true (see
RunBundler.sh for more details).
For Windows systems, see the vc++ directory for a Visual Studio 2005
solution file (vc++/Bundler.sln).
See the README.txt file for more information on running Bundler.