####################################################################################
Please send any bugreports to [email protected]
####################################################################################
+++++++++++++++++++++++++++++++++++
-
INTRODUCTION +
+++++++++++++++++++++++++++++++++++
Libviso 2 (LIBrary for ViSual Odometry 2) is a cross-platfrom (Linux, Windows) C++ library with MATLAB wrappers for computing the 6 DOF motion of a moving stereo camera. Input is a sequence of rectified stereo images. Output is a 4x4 matrix which projects a point from the previous to the current camera coordinates.
Version 2 now also supports visual odometry from monocular sequences, and the feature matching functions implement sparse stereo, scene flow and optical flow. For more details, please have a look at the corresponding publication.
If you distribute a software that uses libviso, you have to distribute it under GPL with the source code. Another option is to contact us to purchase a commercial license.
If you find this software useful or if you use this software for your research, we would be happy if you cite the following related publication:
@INPROCEEDINGS{Geiger11, author = {Andreas Geiger and Julius Ziegler and Christoph Stiller}, title = {StereoScan: Dense 3d Reconstruction in Real-time}, booktitle = {IEEE Intelligent Vehicles Symposium}, year = {2011}, month = {June}, address = {Baden-Baden, Germany} }
+++++++++++++++++++++++++++++++++++
- COMPILING MATLAB WRAPPERS + +++++++++++++++++++++++++++++++++++
Prerequisites needed for compiling libviso2:
- Matlab (if you want to compile the matlab wrappers)
- gcc or Visual Studio (if you want to include the code in your C++ project)
If you want to use libviso directly from MATLAB you can easily do this by using the MATLAB wrappers provided. They also include some demo files for testing.
In the MATLAB directory of libviso, simply run 'make.m' to generate the mex wrappers. (Run mex -setup before to choose your desired compiler)
Now try to run the demo*.m files! For some of them you will need the Karlsruhe dataset from www.cvlibs.net.
+++++++++++++++++++++++++++++++++++
-
BUILDING A C++ LIBRARY +
+++++++++++++++++++++++++++++++++++
Prerequisites needed for compiling and running the libviso2 demonstration tool via c++:
- libpng (available at: http://www.libpng.org/pub/png/libpng.html)
- libpng++ (available at: http://www.nongnu.org/pngpp/)
- sequence 2010_03_09_drive_0019 (available at: http://www.cvlibs.net/)
libpng and png++ are needed for reading the png input images. On a ubuntu box you can get them via apt:
- sudo apt-get install libpng12-dev
- sudo apt-get install libpng++-dev
Linux:
- Move to libviso2 root directory
- Type 'cmake .'
- Type 'make'
- Run './viso2 path/to/sequence/2010_03_09_drive_0019'
Windows:
- Modify CMakefile according to your needs (libpng(++) must be found)
- Start CMake GUI
- Set directories to libviso2 root directory
- Run configure, configure and generate
- Open the resulting Visual Studio solution with Visual Studio
- Switch to 'Release' mode and build all
- Run 'viso2.exe path/to/sequence/2010_03_09_drive_0019'
For more information on CMake, have a look at the CMake documentation.
For more information on the usage of the library, have a look into the MATLAB wrappers, demo.cpp, viso.h, viso_stereo.h, viso_mono.h and matcher.h.
Please send any feedback and bugreports to [email protected] Andreas Geiger