Download
BoofCV is available from its central repository at Github or through periodic releases. Below are links to the latest stable release hosted on SourceForge.
Latest Stable Release:
If you encounter any problems getting BoofCV up and running, please let us know! A bug might have slipped through testing or if the instructions are not clear we would like to know.
Android users, if these jars give you trouble it's probably because they were compiled with JDK 7. See the Android support page for a work around.
Maven
BoofCV is on Maven central repository. A dependency is needed for each module that you used. The modules available are calibration, feature, geo, io, ip, recognition, sfm, visualize, and xuggler. To do anything useful you will need at a minimum io, ip. See below for an example dependency list:
<dependency> <groupId>org.boofcv</groupId> <artifactId>io</artifactId> <version>0.16</version> </dependency> <dependency> <groupId>org.boofcv</groupId> <artifactId>ip</artifactId> <version>0.16</version> </dependency> <dependency> <groupId>org.boofcv</groupId> <artifactId>visualize</artifactId> <version>0.16</version> </dependency>
Where MODULE is one of the modules listed.
Bleeding Edge
BoofCV is being developed in parallel with several other libraries. If you plan on using the latest source code you will need to check out all of their repositories too.
Below is a commandline sequence for checking all of those libraries and BoofCV. It also shows you how to place everything in the correct location relative to each other. This is helpful if you plan on using the provided IntelliJ files.
git clone git://github.com/lessthanoptimal/BoofCV.git boofcv cd boofcv git submodule init git submodule update cd .. git clone git://github.com/lessthanoptimal/GeoRegression.git georegression git clone git://github.com/lessthanoptimal/ddogleg.git ddogleg mkdir -p ejml/trunk svn checkout https://efficient-java-matrix-library.googlecode.com/svn/trunk/ ejml/trunk
Just after BoofCV is checked out it sets up a submodule for the data. The submodule contains data files used in the example code.
The easiest way to build everything is with an IDE. Configuration files are provided for IntelliJ. If you wish to build using ant then you will need to build each library individually in a specific order and copy the jars around. Since this is a pain, using an IDE is recommended or writing a script.
cd ejml/trunk/ ant cp build/jar/EJML.jar ../../ddogleg/lib/ cp build/jar/EJML.jar ../../georegression/lib/ cp build/jar/EJML.jar ../../boofcv/lib/ cd ../../ddogleg/ ant cp build/jar/DDogleg.jar ../georegression/lib/ cp build/jar/DDogleg.jar ../boofcv/lib/ cd ../georegression/ ant cp build/jar/GeoRegression.jar ../boofcv/lib/ cd ../boofcv/main/ ant
Past Releases
Version | Link | Description |
---|---|---|
Alpha v0.16 | Link | Object tracking, FFT, color SURF |
Alpha v0.15 | Link | Kinect, visual odometry, ground plane, bugs |
Alpha v0.14 | Link | Improved 2D image processing |
Alpha v0.13 | Link | Feature API changes, VO, many changes |
Alpha v0.12 | Link | SIFT, combined tracker, API changes |
Alpha v0.11 | Link | Stereo Visual Odometry, trifocal tensor |
Alpha v0.10 | Link | 5-pt Essential, Template, Improved performance/API. |
Alpha v0.9 | Link | Android and Xuggler support, Refactorings |
Alpha v0.8 | Link | Stereo disparity, tweaked calibration |
Alpha v0.7 | Link | Stereo calibration, rectification, improved API |
Alpha v0.6 | Link | Camera calibration, 3D Vision, Performance, and more |
Alpha v0.5 | Link | Improvements to SURF and non-linear optimization |
Alpha v0.4 | Link | Fixed bugs in SURF and MultiSpectral images |
Alpha v0.3 | Link | More color and camera calibration support |
Alpha v0.2 | Link | API improvements and geometric vision |
Alpha v0.1 | Link | First formal publish release |