30 open-source projects similar to fengsp/color-thief-py, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
Color-thief is a color quantization library and image color palette extractor designed to identify the most prominent colors in visual media. It functions as a semantic color classifier and color space converter, providing tools to extract dominant colors and generate representative palettes from images, videos, and canvas elements. The project utilizes a WebAssembly color processor and background workers to perform high-performance pixel analysis. It implements a WCAG contrast analyzer to calculate color contrast ratios and determine accessible foreground text colors based on accessibility s
vibrant.js is a JavaScript color extraction library used to identify dominant color palettes from images based on the Android Palette algorithm. It functions as an image palette generator and a color processing tool that converts extracted data between RGB, HSL, and Hexadecimal formats. The library analyzes image pixels to categorize colors into specific profiles, including vibrant, muted, dark, and light. It also includes an accessible text color calculator that determines high-contrast hex colors for text overlays based on a selected background color. The toolset covers automated palette g
This is a jQuery plugin that extracts the dominant color from an image or CSS background image and applies it as a background color on a target element. It uses canvas-based pixel analysis with an RGB quantization algorithm to identify the most prominent color, then injects that color as an inline CSS background-color style. The plugin automatically normalizes text contrast by calculating the relative luminance of the extracted color and toggling between dark and light text to maintain readability. It includes an image preloading pipeline to ensure pixel data is available synchronously from t
Grade is a JavaScript library for image color analysis and dynamic theme generation. It extracts the most prominent colors from an image to automatically generate complementary CSS gradients and coordinated color palettes for web interfaces. The tool identifies dominant colors using pixel-data analysis and applies mathematical offsets to determine matching hues. It can inject these calculated values directly into the document as CSS custom properties or export the gradient data as a raw array for custom visual implementation.
Thumbhash is an image encoding library that converts images into compact strings to be used as lightweight placeholders. This format provides a binary representation of an image that preserves color and aspect ratio, allowing for the generation and rendering of blurred previews during page loads. The project serves as an alternative to Blurhash by providing a method to encode images into tiny strings while avoiding high-frequency computational overhead. It also functions as a color palette extractor, enabling the derivation of the dominant average RGB color from an encoded representation for
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
imutils is a computer vision utility toolkit and image processing library designed to simplify common manipulation tasks using OpenCV. It serves as an image analysis helper and geometry transformation tool for automating visual data processing. The toolkit provides specialized capabilities for maintaining image integrity during transformations, such as resizing images while preserving aspect ratios and rotating images without cropping corners. It also includes tools for four-point perspective warping to create top-down views and the extraction of topological skeletons from binary images. The
SDWebImage is an asynchronous image downloader and caching library for iOS and macOS applications. It provides a core identity centered on a network utility for fetching images from URLs, a tiered memory and disk caching engine, and a processing framework for decoding and encoding media. The library features a specialized rendering engine for animated formats such as GIF and WebP, including support for progressive animation rendering. It distinguishes itself through a plugin system that allows for extended image format support and the ability to replace default loading or storage logic with c
ImageSharp is a .NET image processing library and manipulation framework used for decoding, encoding, and modifying digital images. It functions as a comprehensive toolkit for resizing, cropping, and applying pixel-level filters while managing color profiles and pixel data across various file formats. The project integrates a 2D vector graphics engine and a typography rendering engine to draw geometric shapes, paths, and complex stylized text onto images. It also includes a geometry boolean operation library for calculating intersections, unions, and differences between complex polygons and c
Jimp is a JavaScript image processing library and Node.js manipulation tool designed to perform image transformations and edits entirely within a JavaScript environment. It is a zero-dependency image library that operates without requiring native binaries or external system software dependencies. The project provides a programmatic interface for automated image transformations, including resizing, cropping, and filtering. It supports the creation of custom image pipelines and server-side image editing by processing data without relying on native system tools.
ImageGlass is a lightweight image viewer and editor designed for Windows environments. It provides a unified interface for displaying a wide range of file types, including raw camera files, vector graphics, and web formats, while offering tools for basic image transformation and metadata inspection. The application distinguishes itself through deep integration with the host operating system, including the ability to synchronize its internal viewing order with the file explorer's sorting state. It supports complex media by providing playback controls for multi-frame and animated files, allowin
jetson-inference is a set of libraries and tools for executing optimized deep learning models on embedded GPU hardware. Its primary purpose is to enable real-time computer vision and AI inference at the edge with low latency and high throughput. The project distinguishes itself through high-performance streaming analytics and the ability to execute concurrent AI pipelines on auto-grade silicon. It provides specialized support for multi-sensor stream processing, utilizing zero-copy data transport to load camera frames directly into GPU memory. The codebase covers a broad surface of capabiliti
Photon is a high-performance image processing library written in Rust. It serves as a pixel manipulation toolkit and image format transcoder, providing a WebAssembly graphics engine for executing visual effects and transformations directly within web browsers. The project is built around a functional image pipeline, which allows for the programmatic chaining of sequential transformation operations. This architecture supports the creation of complex visual effects through a coded pipeline. The library covers a wide range of image processing capabilities, including color management across mult
ImagePy is a Python-based framework designed for scientific image analysis and processing. It provides a modular environment where users can perform complex tasks such as image segmentation, morphological operations, and volumetric reconstruction on multidimensional data. The platform distinguishes itself through a plugin-based architecture that decouples processing logic from the host environment. It utilizes reflection to automatically generate user interfaces from plugin attributes, allowing for the integration of custom tools without modifying core source code. Users can record sequences
Imaginary is a self-hosted HTTP server for image processing that applies transformations like resizing, cropping, rotating, and format conversion through URL parameters. It operates as a stateless request-response pipeline, processing images fetched from remote URLs or served from a local directory without requiring client-side dependencies. The server distinguishes itself through its security and access control capabilities, offering optional API key validation, HMAC-signed URL verification, and remote origin whitelisting to restrict which image sources are permitted. It also provides a heal
This project is a command-line tool designed for image super-resolution and noise reduction, with a primary focus on anime-style illustrations. It utilizes convolutional neural network inference to reconstruct missing pixel data and remove digital artifacts, allowing users to upscale images and reduce noise either independently or in a single simultaneous processing pass. Beyond its core image restoration capabilities, the software provides a comprehensive suite for machine learning model training. Users can prepare custom datasets and optimize neural networks for specific restoration tasks,
Primitive is an algorithmic art generator and geometric image reconstruction tool that transforms raster images into stylized vector compositions. It functions as an iterative shape optimizer and raster-to-vector converter, approximating pixel-based photos by layering geometric primitives such as triangles, circles, and rectangles. The project utilizes a search algorithm to determine the optimal position, size, and color for each shape to minimize the visual difference from the source image. Users can apply shape constraint definitions to control the properties and orientations of the geometr
Jimp is a zero-dependency JavaScript image processing library and programmatic editor designed for manipulating, resizing, and filtering images in Node.js. It functions as a multi-format image encoder and extensible pipeline that operates entirely in JavaScript to ensure portable deployment across different environments without requiring native system dependencies. The engine features a modular architecture that allows for custom image processor builds and the registration of custom processing plugins. This extensibility enables the addition of specific visual effects and custom file-type enc
This project is a collection of optional, community-contributed algorithms and specialized vision tools that extend the core OpenCV framework. It serves as a comprehensive library of extra modules for computer vision research, providing advanced toolsets for image processing, visual data analysis, and object detection. The library includes specialized frameworks for augmented reality tracking, biometric face recognition, and three-dimensional pose estimation. It provides distinct capabilities for identifying AR markers, tracking 3D object silhouettes, and performing neural network vulnerabili
FXBlurView is an iOS blur effect library and image processing tool designed to render Gaussian blur effects over application views and static images. It provides a UIKit background blur view component that can be applied to UI elements to create blurred backgrounds. The library supports both real-time blurring of live application views and the processing of static images. It offers two primary rendering modes: a single-pass static rendering for efficiency and a dynamic background-thread processing mode to maintain user interface responsiveness during heavy computations. Additional capabiliti
NVIDIA DALI is a GPU-accelerated data loading and preprocessing library designed for deep learning workflows. It constructs high-performance data pipelines that offload decoding, augmentation, and normalization to the GPU, eliminating CPU bottlenecks in training and inference. The library reads data from multiple storage formats and streams it directly into GPU memory, with support for multi-GPU execution to scale throughput across large-scale workloads. DALI distinguishes itself by enabling data pipelines to be built once and executed across multiple deep learning frameworks without code cha
Pillow is a Python image processing library and digital image manipulation toolkit used for opening, manipulating, and saving various image file formats. It serves as a multi-format image codec wrapper that enables the reading and writing of diverse standards such as JPEG, PNG, TIFF, and BMP. The library provides tools for programmatic image manipulation, including resizing, cropping, rotating, and transforming visual content through direct pixel data modification. It supports pixel data analysis to extract and modify raw information for custom visual processing and data transformations. The
RawTherapee is a cross-platform RAW developer and photo processor designed to convert raw camera sensor data and high dynamic range files into high-quality developed images. It functions as a non-destructive image editor, applying adjustments as a set of instructions without modifying the original source files. The application provides specialized tools for HDR image processing, allowing for the development of high dynamic range files with controlled exposure and contrast. Its workflow is designed for digital photography post-processing across different operating systems. The software handle
gm is a JavaScript image processing library and Node.js manipulation tool that serves as a programmatic wrapper for the GraphicsMagick engine. It translates JavaScript method calls into shell commands to automate the resizing, cropping, and transformation of images. The library provides an interface to execute specific GraphicsMagick operations while allowing raw command passthrough for custom arguments or engine features not covered by the standard API. Its capabilities cover geometric manipulation, color and tone adjustment, and image quality optimization. It includes tools for image compo
GoCV is a computer vision library and Go language binding for OpenCV. It serves as an image processing toolkit and deep learning inference engine, providing programmatic access to a wide range of algorithms for image manipulation, object detection, and video analysis. The project differentiates itself through high-performance native bindings and hardware acceleration. It utilizes a foreign function interface to map Go calls to C++ functions and includes a hardware-agnostic backend dispatch to route neural network tasks to computation engines such as CUDA and OpenVINO. The library covers a br
jsQR is a JavaScript library for locating and decoding QR codes directly within a browser or Node.js environment. It functions as a client-side scanner and decoder that extracts text and data from images using pixel arrays, removing the need for server-side processing. The library provides tools for QR code localization to identify the exact coordinates of corners and alignment patterns within a larger image. It uses image pattern recognition to isolate the QR code and extract its encoded content. Its internal operations cover binarization-based thresholding, geometric pattern localization,
EasyImages2.0 is a self-hosted, database-less image hosting platform. It stores files directly on the server and generates shareable links without requiring a relational database, utilizing flat-file metadata storage and filesystem-based content mapping. The platform includes a centralized web management interface for organizing uploaded media and monitoring site statistics. It features an integrated image processing gateway that automatically resizes, compresses, and converts image formats during the upload process, and can apply custom watermarks to protect ownership. Additional capabiliti
CarrierWave is a Ruby file upload library used to manage the uploading, storing, and retrieval of files within web frameworks such as Rails and Sinatra. It functions as an Active Record file manager that associates uploaded assets with database records. The project includes an image processing pipeline for generating thumbnails and derivative versions of uploaded images. It also features a file validation engine to restrict uploads based on allowlists or denylists of extensions and content types, and provides cloud storage integration to manage assets on remote providers. The library covers
Intervention Image is a PHP image processing library designed for editing and manipulating image assets. It functions as an abstraction layer that provides a simplified interface for performing programmatic visual adjustments and compositions. The project utilizes a driver-based architecture that allows for switching between different underlying image processing engines without requiring changes to the application logic. This abstraction extends to the handling of animated image formats, enabling the manipulation of frames and properties across various processing drivers. The library covers
GPUImage is a GPU-accelerated image processing framework for iOS designed to apply real-time filters and effects to images and video. It functions as a processing engine and fragment shader library that manages textures and shaders for efficient visual data manipulation. The framework utilizes a chainable filter architecture and a texture-based data pipeline to pass image data between processing stages without expensive memory transfers. It enables the creation of bespoke visual effects through the authoring of custom fragment shaders and provides mechanisms to synchronize texture data with e