For a java library for image processing, the strongest matches are processing/processing (Processing is a Java-based creative coding environment that provides), bytedeco/javacv (This library provides a comprehensive Java interface for native) and haraldk/twelvemonkeys (This library extends Java's native ImageIO capabilities with support). pistondevelopers/image and nomacs/nomacs round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
We curate open-source GitHub repositories matching “best java image processing libraries”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.
Processing is a creative coding environment and Java graphics library designed for writing visual sketches that produce interactive 2D and 3D graphics and animations. It runs on the Java Virtual Machine, using an OpenGL-based hardware-accelerated rendering pipeline, and operates on a sketch-based execution model where programs run as continuous loops of setup and draw functions with event-driven input handling for keyboard, mouse, and window interactions. The environment distinguishes itself as a cross-platform sketch tool that runs visual programs unchanged on desktop, web, Android, and Rasp
Processing is a Java-based creative coding environment that provides robust tools for pixel-level image manipulation, transformation, and hardware-accelerated rendering, making it a suitable library for programmatic visual processing tasks.
JavaCV provides a Java-based interface for native computer vision and video processing libraries. It functions as a wrapper for native vision libraries, allowing Java applications to perform image analysis, object detection, and video stream processing. The project integrates comprehensive computer vision capabilities, including facial recognition, image segmentation, and optical flow analysis for motion tracking. It also provides tools for hardware geometry calibration and projector-camera alignment to ensure accurate spatial representation. The system covers high-performance media renderin
This library provides a comprehensive Java interface for native computer vision and image processing tools, offering the pixel-level manipulation and hardware-accelerated analysis capabilities required for advanced image transformation tasks.
TwelveMonkeys ImageIO: Additional plug-ins and extensions for Java's ImageIO
This library extends Java's native ImageIO capabilities with support for a wide range of additional image formats, serving as a foundational tool for image loading and transformation tasks.
This project is an image processing library designed for manipulating pixel data, applying visual filters, and adjusting image appearance. It functions as a low-level tool for processing raw pixel buffers and managing image data. The library provides a toolkit for image geometry manipulation, including resizing, cropping, flipping, and rotating images. It also serves as an image format converter for encoding and decoding data between common binary file formats and as a metadata extractor for retrieving dimensions and color profiles from file headers. The capabilities cover low-level image pr
This is a low-level image processing library, but it is written in Rust rather than Java, making it incompatible with the visitor's requirement for a Java-based tool.
nomacs is a cross-platform image viewer application used for viewing and managing a wide variety of standard and specialized image file formats. It functions as an image processing utility, a metadata inspector, and an annotation tool. The application enables side-by-side image comparison by synchronizing zooming and panning across multiple open windows. It also provides the ability to browse and view images embedded within compressed archives or document files without manual extraction. The software includes capabilities for image metadata analysis using histograms, the addition of visual m
This is a standalone C++ image viewer application rather than a Java-based library for programmatic image manipulation and analysis.
pixelmatch is a JavaScript image comparison library and pixel-level difference detector. It identifies mismatched pixels between image data arrays and quantifies the differences based on a configurable sensitivity threshold. The tool generates visual difference maps that highlight specific pixel changes for manual review. It includes a command-line interface for comparing image files and exporting the resulting difference maps to the file system. The project provides capabilities for automated image analysis and visual regression testing, utilizing anti-aliasing heuristic filtering to ignore
This is a JavaScript-based library for pixel-level image comparison and visual regression testing, which does not meet the requirement for a Java-based image processing library.
Caire is a command-line image processing engine designed for content-aware resizing and batch manipulation. It utilizes seam carving algorithms to adjust image dimensions by identifying and removing low-energy pixels, allowing for the rescaling of images while preserving primary visual subjects and maintaining aspect ratios. The tool distinguishes itself through its ability to protect specific visual elements, such as human faces, from distortion during the resizing process. Users can apply custom binary masks to define regions for protection or forced removal, and the engine provides real-ti
This is a command-line application written in Go rather than a Java-based library, making it a standalone tool for content-aware resizing rather than a programmatic component for Java developers.
Libvips is a C-based image processing library designed to manipulate large visual assets through a low-memory, parallel processing pipeline. It functions as a streaming image processor that avoids loading entire files into system memory, enabling the handling of massive images in resource-constrained environments. The library distinguishes itself through a demand-driven architecture that constructs a deferred execution plan, computing only the necessary pixels for a final output. By utilizing a cache-friendly tiled processing model and memory-mapped file access, it minimizes latency and redun
This is a high-performance C-based image processing engine, but it does not meet the requirement for a Java-based library as it would require external bindings to be used within a Java environment.
opencv4nodejs is a set of JavaScript wrappers and a C++ native addon that provides Node.js bindings for the OpenCV library. It functions as a computer vision library and image processing framework, exposing high-performance C++ algorithms to a JavaScript environment. The project enables the execution of vision algorithms for detecting faces, tracking objects, and analyzing visual data using deep neural networks. It includes capabilities for data pattern classification, text pattern recognition, and the identification of facial landmarks and gestures. The framework covers a broad capability s
This project provides Node.js bindings for OpenCV rather than being a native Java library, making it a tool for a different ecosystem despite sharing the same underlying computer vision capabilities.
This project is a Python wrapper for the OpenCV computer vision library, providing a bridge that exposes high-performance C++ functions to the Python programming language. It serves as a collection of tools for real-time image processing, object detection, and machine learning on visual data. The project provides precompiled binary distributions, allowing for the integration of vision capabilities into Python applications without requiring a local C++ compiler. It offers multi-variant package distributions, including headless versions designed for server or cloud environments where a graphica
This is a Python wrapper for a C++ library rather than a native Java-based library, making it unsuitable for a developer specifically seeking Java-based image processing tools.
tracking.js is a browser computer vision library written in JavaScript for performing real-time image analysis and object tracking directly within a web browser. It functions as a real-time object tracker, a color tracking tool, and a face detection utility. The library enables the detection and monitoring of specific color ranges, human faces, and known visual patterns across consecutive video frames. It extracts visual features and descriptors from images to identify distinct landmarks for matching and tracking. The project covers broad computer vision capabilities, including the ability t
This is a browser-based computer vision library written in JavaScript, which does not meet the requirement for a Java-based software library for image processing.
PostProcessing is a post-processing stack for the Unity game engine designed to apply image-space visual effects and color grading to rendered scenes. It functions as a real-time image effect pipeline that processes frames after the primary 3D geometry has been drawn. The system includes a screen space visual effects library and an HDR color grading toolset used to adjust high dynamic range colors and contrast. These tools allow for the application of real-time image filtering to modify lighting, colors, and mood. The framework supports 3D scene post-processing and game environment polishing
This is a C#-based post-processing stack for the Unity game engine, which functions as a real-time rendering pipeline rather than a general-purpose Java library for programmatic image analysis and manipulation.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| processing/processing | 6.5K | Java | NOASSERTION | |
| bytedeco/javacv | 8.3K | Java | NOASSERTION | |
| haraldk/twelvemonkeys | 2.1K | Java | BSD-3-Clause | |
| pistondevelopers/image | 5.8K | Rust | Apache-2.0 | |
| nomacs/nomacs | 2.8K | C++ | gpl-3.0 | |
| mapbox/pixelmatch | 6.8K | JavaScript | ISC | |
| esimov/caire | 10.5K | Go | mit | |
| libvips/libvips | 11.1K | C | lgpl-2.1 | |
| justadudewhohacks/opencv4nodejs | 5K | C++ | MIT | |
| opencv/opencv-python | 5.3K | Python | MIT |