Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

org.boofcv:boofcv-core

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

org.boofcv:boofcv-core

BoofCV is an open source Java library for real-time computer vision and robotics applications.

  • 1.1.7
  • Source
  • Maven
  • Socket score

Version published
Maintainers
1
Source

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 -b SNAPSHOT --recursive https://github.com/lessthanoptimal/BoofCV.git boofcv

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

To run BoofCV you need Java 11 or newer and any free version will work, e.g. Zulu. To build BoofCV, just let the Gradle script handle everything. It will automatically download what it needs and ignore your local JDK if it's not compatible.

cd boofcv
git clean -fd main # Removes stale autogenerated code
./gradlew autogenerate
./gradlew examplesJar
java -jar examples/examples.jar
./gradlew demonstrationsJar
java -jar demonstrations/demonstrations.jar

All the code for examples and demonstrations is in boofcv/examples and boofcv/demonstrations. Example code is intended easy to understand, so look there first.

Click HERE for instruction on building and running Applications. There you can calibrate cameras, create QR codes, batch scan for QR codes, batch downsample images, ... etc.

Maven Central Repository

BoofCV is on Maven Central and can be easily added to your favorite build systems; Maven, Gradle, ... etc. It's divided up into many modules, but most people will just need 'boofcv-core'. Additional modules are listed below for GUI and IO components. To include it in a Gradle project add the following to your dependencies:

For Gradle projects:

dependencies {
    api(group: 'org.boofcv', name: 'boofcv-core', version: '1.1.7')
}

Here are a list of the most commonly used modules and what they are for:

NameDescription
boofcv-coreAll the core libraries without any of the integration modules listed below
boofcv-androidUseful functions for working inside of Android devices.
boofcv-ffmpegjavacpp-presets their ffmpeg wrapper is used for reading video files.
boofcv-javacvJavaCV is a wrapper around OpenCV mainly for file IO.
boofcv-jcodecJCodec is a pure Java video reader/writer.
boofcv-kotlinKotlin extensions which take advantage of Kotlin's unique features.
boofcv-pdfNeeded to render fiduals as PDF documents
boofcv-swingVisualization using Java Swing. Required for examples and demonstrations.
boofcv-WebcamCaptureA few functions that make WebcamCapture even easier to use.

Directories

DirectoryDescription
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
git clean -fd main                # Removes stale autogenerated code
./gradlew autogenerate            # Creates auto generated files
./gradlew publishToMavenLocal     # Installs it into the local maven repository 

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-projects 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

Similar to IntelliJ, you can now import Gradle projects like BoofCV using the Buildship tooling. Instructions


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

FAQs

Package last updated on 05 Oct 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc