bytedeco/javacv

Java interface to OpenCV, FFmpeg, and more

What it solves

JavaCV provides a way for Java developers to access powerful C/C++ computer vision and video processing libraries without having to write native code. It simplifies the integration of complex native libraries like OpenCV and FFmpeg into Java and Android applications.

How it works

It uses wrappers from JavaCPP Presets to provide Java-based interfaces for a wide range of native libraries. It also includes utility classes that make these libraries easier to use on the Java platform, such as hardware-accelerated image display, parallel execution tools, and specialized tools for camera calibration and image alignment.

Who it’s for

Java and Android developers who need to implement computer vision, video recording, or image processing functionality in their apps.

Highlights

  • Broad Library Support: Wraps OpenCV, FFmpeg, Tesseract, and various hardware-specific SDKs (e.g., RealSense, OpenKinect).
  • Cross-Platform: Works across Windows, Linux, Mac OS X, Android, and iOS.
  • Hardware Acceleration: Includes CanvasFrame and GLCanvasFrame for full-screen image display, with OpenCL and OpenGL counterparts for many classes.
  • C++ API Fidelity: Maintains original C/C++ syntax as much as possible to make it easier for those familiar with the original libraries to transition to Java.

Related

  • Project
  • Project
  • Project
  • Project
  • Project