Coder Social home page Coder Social logo

boofcv's Introduction

Build Status Join the chat at https://gitter.im/lessthanoptimal/BoofCV Maven Central


Table of Contents


Introduction

BoofCV is an open source real-time computer vision library written entirely in Java and released under the Apache License 2.0. Functionality includes low-level image processing, camera calibration, feature detection/tracking, structure-from-motion, classification, and recognition.

Cloning GIT Repository

The bleeding edge source code can be obtained by cloning the git repository.

git clone --recursive https://github.com/lessthanoptimal/BoofCV.git boofcv
git checkout SNAPSHOT

Is the data directory empty? That's because you didn't follow instructions and skipped --recursive. Fix that by doing the following.

cd boofcv
git submodule update --init --recursive

Quick Start Examples and Demonstrations

Know what you're doing and you just want to see something running? Then run the commands below! Each jar will open a window, then to run an application just double click on its name.

cd boofcv
./gradlew examples
java -jar examples/examples.jar
./gradlew demonstrations
java -jar demonstrations/demonstrations.jar

All the code for what you see is in boofcv/examples and boofcv/demonstrations. Example code is designed to be easy to understand so look there first.

Maven Central Repository

BoofCV is on Maven Central and can be easily added to your Maven, Gradle, ...etc projects. It's divided up into many modules. The easiest way to include the critical modules is to have your project dependent on 'core'.

For Maven projects:

<dependency>
  <groupId>org.boofcv</groupId>
  <artifactId>core</artifactId>
  <version>0.26</version>
</dependency>

There are also several integration modules which help BoofCV interact with external projects. A list of those is included below:

Name Description
All Absolutely everything
Android Useful functions for working inside of Android devices.
javacv JavaCV is a wrapper around OpenCV and FFMPEG for reading video files.
jcodec JCodec is a pure Java video reader/writer.
openkinect Used the Kinect RGB-D sensor with BoofCV.
WebcamCapture A few functions that make WebcamCapture even easier to use.

Directories

Directory Description
applications/ Helpful applications
data/ Directory containing optional data used by applets and examples.
demonstrations/ Demonstration code which typically lets experiment by changing parameters in real-time
examples/ Set of example code designed to be easy to read and understand.
integration/ Contains code which allows BoofCV to be easily integrated with 3rd party libraries. Primary for video input/output.
main/ Contains the source code for BoofCV

Building from Source

Building and installing BoofCV into your local Maven repository is easy[1] using the gradlew script:

cd boofcv
./gradlew install

If you wish to have jars instead, the following commands are provided.

./gradlew oneJarBin               # Builds a single jar with all of BoofCV in it
./gradlew createLibraryDirectory  # Puts all jars and dependencies into boofcv/library
./gradlew alljavadoc              # Combines all JavaDoc from all sub-porjects into a single set

[1] A couple of the integration submodules have a custom build process that can't be performed by Gradle. The script is smart enough to ignore modules and tell you that it is doing so if you haven't configured it yet.

IntelliJ

IntelliJ is the recommended IDE for use with BoofCV. With IntelliJ you can directly import the Gradle project.

  1. File->Project From Existing Sources
  2. Select your local "boofcv" directory
  3. Confirm that you wish to import the Gradle project

Eclipse

The easiest way to import the project is to use Gradle to generate an Eclipse project.

cd boofcv
./gradlew eclipse

Then in Eclipse; 1) "import existing projects", 2) Select your BoofCV directory, 3) Click Finish. You can also install a Gradle plugin to Eclipse and import the project directory. That's left as an exercise for the reader.


Dependencies

Core BoofCV modules depends on the following libraries

The following is required for unit tests

Code from the following libraries has been integrated into BoofCV

The optional sub-projects in integration also have several dependencies. See those sub-projects for a list of their dependencies.


Contact

For questions or comments about BoofCV please use the message board. Only post a bug report after doing some due diligence to make sure it is really a bug and that it has not already been reported.

Message Board

boofcv's People

Contributors

boechat107 avatar jenskapitza avatar jmankhan avatar lessthanoptimal avatar nobusue avatar npahucki avatar thhart avatar xzvfinet avatar

Watchers

 avatar

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.