- https://en.wikipedia.org/wiki/3D_lookup_table - 3D lookup tables (3D LUTs) are used to map one color space to another. They are commonly used to calculate preview colors for a monitor or digital projector of how an image will be reproduced on another display device, typically the final digitally projected image or release print of a movie. A 3D LUT is a 3D lattice of output RGB color values that can be indexed by sets of input RGB colour values. Each axis of the lattice represents one of the three input color components and the input color thus defines a point inside the lattice. Since the point may not be on a lattice point, the lattice values must be interpolated; most products use trilinear interpolation.
- Two new color spaces for color picking - Okhsv and Okhsl - Two new color spaces for color picking
- https://en.wikipedia.org/wiki/Color_management - the controlled conversion between the color representations of various devices, such as image scanners, digital cameras, monitors, TV screens, film printers, computer printers, offset presses, and corresponding media.The primary goal of color management is to obtain a good match across color devices; for example, the colors of one frame of a video should appear the same on a computer LCD monitor, on a plasma TV screen, and as a printed poster. Color management helps to achieve the same appearance on all of these devices, provided the devices are capable of delivering the needed color intensities. With photography it is often critical that prints or online gallery appear how they were intended. Color management cannot guarantee identical color reproduction, as this is rarely possible, but it can at least give more control over any changes which may occur.
Parts of this technology are implemented in the operating system (OS), helper libraries, the application, and devices. A cross-platform view of color management is the use of an ICC-compatible color management system. The International Color Consortium (ICC) is an industry consortium that has defined: An open standard for a Color Matching Module (CMM) at the OS level, and color profiles for: Devices, including devicelink-profiles that represent a complete color transformation from source device to target device, and Working spaces, the color spaces in which color data is meant to be manipulated
There are other approaches to color management besides using ICC profiles. This is partly due to history and partly because of other needs than the ICC standard covers. The film and broadcasting industries make use of some of the same concepts, but they frequently rely on more limited boutique solutions. The film industry, for instance, often uses 3D LUTs (lookup table) to represent a complete color transformation for a specific RGB encoding. At the consumer level, color management currently applies more to still images than video, in which color management is still in its infancy.
- https://en.wikipedia.org/wiki/ICC_profile - a set of data that characterizes a color input or output device, or a color space, according to standards promulgated by the International Color Consortium (ICC). Profiles describe the color attributes of a particular device or viewing requirement by defining a mapping between the device source or target color space and a profile connection space (PCS). This PCS is either CIELAB (L*a*b*) or CIEXYZ. Mappings may be specified using tables, to which interpolation is applied, or through a series of parameters for transformations.
Every device that captures or displays color can be profiled. Some manufacturers provide profiles for their products, and there are several products that allow an end-user to generate his or her own color profiles, typically through the use of a tristimulus colorimeter or preferably a spectrophotometer. The ICC defines the format precisely but does not define algorithms or processing details. This means there is room for variation between different applications and systems that work with ICC profiles. Since late 2010, the current version of the specification is 4.3.
ICC has also published a preliminary specification for iccMAX, a next-generation color management architecture with significantly expanded functionality and a choice of colorimetric, spectral or material connection space.
- OpenIcc - has two main goals. The first goal is to work out a common set of settings for color savvy applications to share profiles and settings. The second goal is to bring together those developers in areas like printing, display and desktop applications to work together to make color management end to end work for open source applications.
- colord - a system service that makes it easy to manage, install and generate color profiles to accurately color manage input and output devices.What colord does: Provides a D-Bus API for system frameworks to query, e.g. Get me the profiles for device $foo or Create a device and assign it profile $bar. Provides a persistent database backed store that is preserved across reboots. Provides the session for a way to set system settings, for instance setting the display profile for all users and all sessions.colord itself is a system activated daemon called colord. Being system activated means that it's only started when the user is using a text mode or graphical tool.GNOME Color Manager is the name of the graphical tools for colord to be used in the GNOME and KDE desktops. GNOME Color Manager and colord-kde act as a clients to colord.
- https://github.com/udifuchs/icc-brightness - Control OLED display brightness by applying ICC color profiles.
- ArgyllCMS - an ICC compatible color management system, available as Open Source under the AGPL. It supports accurate ICC profile creation for scanners, cameras and film recorders, and calibration and profiling of displays and RGB & CMYK printers.
- Oyranos - Colour Management System
- dispcalGUI - Open Source Display Calibration and Characterization powered by Argyll CMS
- Little CMS - intends to be an open source small-footprint color management engine, with special focus on accuracy and performance. It uses the International Color Consortium standard (ICC), which is the modern standard when regarding to color management.
- xcalib - AdobeGamma-Loader-like monitor calibration loader for Linux - a tiny monitor calibration loader for XFree86 (or X.org) and MS-Windows.
- https://github.com/OpenICC/xcalib - Load 'vcgt'-tag of ICC profiles to X-server and MS-Windows. Works on calibration stage, which can be a precondition for display ICC color conversions.
- xgrabcolor - a basic color picker, that allows to grab a color from any pixel on screen, display the corresponding colorname, to be used, for instance, in HTML pages, the color RGB and HSV values, as well as the color alpha channels. Each of these values can also be modified directly by the user in a synchronized way to generate new colors. Colors can be stored in a list, for later use.
- https://github.com/generaltso/vibrant - Extract prominent colors from images. Go port of the Android awesome Palette class aka Vibrant.js.
- allRGB - The objective of allRGB is simple: To create images with one pixel for every RGB color (16777216); not one color missing, and not one color twice.