explaingit

bytedeco/javacv

8,308JavaAudience · developerComplexity · 2/5Setup · easy

TLDR

A Java library that wraps OpenCV, FFmpeg, and other native computer vision tools so Java developers can process images and video without writing any C or C++ code.

Mindmap

mindmap
  root((javacv))
    What it does
      Java wrappers
      Native lib access
      No C code needed
    Wrapped libraries
      OpenCV
      FFmpeg
      RealSense Kinect
    Built-in utilities
      Display images
      Parallel processing
      Camera calibration
    Platforms
      Android iOS
      Linux macOS Windows
    Add to project
      Maven Gradle
      Single dependency
      Pre-built binaries
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Add real-time image processing to a Java or Android app using OpenCV without installing native libraries separately

USE CASE 2

Encode, decode, or transcode video files in a Java application using FFmpeg via a single Maven dependency

USE CASE 3

Calibrate a camera or projector geometrically in a Java program using the built-in utility classes

USE CASE 4

Access video frames from industrial cameras or depth sensors like Intel RealSense from a Java application

Tech stack

JavaOpenCVFFmpegMavenGradleAndroid

Getting it running

Difficulty · easy Time to first run · 30min

Add one Maven or Gradle dependency to get pre-built native binaries, optional hardware like PlayStation Eye camera needs extra drivers on Windows.

No license information was provided in the explanation.

In plain English

JavaCV is a Java library that makes it possible to use computer vision and multimedia tools from Java programs. It wraps well-known native libraries like OpenCV (image processing) and FFmpeg (video encoding and decoding) so that Java developers can call their functions without dealing with the underlying C or C++ code directly. Beyond OpenCV and FFmpeg, the library also covers less common hardware: industrial cameras from FLIR, depth sensors like the Intel RealSense and Kinect, PlayStation Eye cameras, and projector-camera calibration systems. On top of those native library wrappers, JavaCV adds its own utility classes for common tasks including displaying images on screen with hardware acceleration, running processing steps in parallel across CPU cores, calibrating cameras and projectors geometrically, detecting and matching visual features in images, and analyzing connected regions of pixels. You can add JavaCV to a Java project through Maven, Gradle, Leiningen, or sbt by adding one dependency line to your build configuration. The platform dependency pulls in pre-built binaries for Android, iOS, Linux, macOS, and Windows, so there is no separate native library installation step. If you only need one platform, you can narrow the download with a system property. The minimum requirement is Java SE 8. A few optional features need extra SDKs (the Android SDK, or a PlayStation Eye driver on Windows), but the core functionality works with a standard Java installation. The project includes sample programs in the repository, including Android examples, to serve as a starting point. The README notes that formal API documentation is currently lacking, so the samples and source code of companion projects are the main reference for learning the API.

Copy-paste prompts

Prompt 1
I'm building a Java app that needs to read frames from a webcam, convert them to grayscale, and display them in a window. Using bytedeco/javacv, show me the Maven dependency and a minimal working example.
Prompt 2
Using JavaCV's FFmpeg wrapper, write a Java snippet that reads an MP4 file frame by frame and saves every 10th frame as a JPEG image.
Prompt 3
I want to detect faces in images from an Android app using JavaCV and OpenCV. Show me the Gradle dependency and the minimum Java code to load the Haar cascade and run detection.
Prompt 4
Using bytedeco/javacv, how do I grab frames from an Intel RealSense depth camera and print the depth value at the center pixel of each frame?
Prompt 5
I need to resize a batch of images in parallel using JavaCV. Show me how to use the parallel processing utilities to process a folder of JPEGs concurrently.
Open on GitHub → Explain another repo

← bytedeco on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.