← all repositories
bytedeco/javacv

OpenCV and FFmpeg for Java developers who'd rather not write JNI

It wraps OpenCV, FFmpeg, and a dozen other native vision libraries so Java developers can call C++ APIs without writing JNI by hand.

javacv
Not currently ranked — collecting fresh signals.
star history

What it does JavaCV wraps native computer vision and multimedia libraries—OpenCV, FFmpeg, Tesseract, librealsense, and others—via JavaCPP Presets, exposing their C/C++ APIs to the JVM with near-identical syntax. It layers on utility classes for camera calibration, blob analysis, parallel execution, and hardware-accelerated display, and ships prebuilt binaries for Android, iOS, Linux, macOS, and Windows.

The interesting bit Instead of Java-fying the APIs, it preserves original C++ function names and patterns like imread and Mat, so existing OpenCV documentation stays mostly applicable. It also unifies disparate hardware grabbers—from PS3 Eye to RealSense—under a single FrameGrabber abstraction.

Key highlights

  • One Maven/Gradle dependency can pull native binaries for all platforms, or be scoped to a single target to reduce bloat
  • Includes projector-camera calibration helpers, feature-point matching (ObjectFinder), and blob analysis (Blobs)
  • FrameConverter classes bridge frames to Android Bitmap, Java 2D, JavaFX, and Tesseract
  • OpenCL and OpenGL counterparts exist for some core classes (JavaCVCL, GLCanvasFrame)
  • Commercial support is available via xs:code, alongside community mailing lists and forums

Caveats

  • The README concedes that documentation “currently lacks” and directs users to sample programs and ported cookbook examples
  • 32-bit and 64-bit modules cannot be mixed under any circumstances
  • The maintainer openly admits the project is “far from perfect”

Verdict A solid choice if you need computer vision or video processing inside a Java or Android codebase and want to skip hand-rolled JNI. If you’re already working in C++ or Python, the JVM indirection adds little value.

Frequently asked

What is bytedeco/javacv?
It wraps OpenCV, FFmpeg, and a dozen other native vision libraries so Java developers can call C++ APIs without writing JNI by hand.
Is javacv open source?
Yes — bytedeco/javacv is an open-source project tracked on heatdrop.
What language is javacv written in?
bytedeco/javacv is primarily written in Java.
How popular is javacv?
bytedeco/javacv has 8.3k stars on GitHub.
Where can I find javacv?
bytedeco/javacv is on GitHub at https://github.com/bytedeco/javacv.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.