Hi,

as a side project, I started working on a ICC library for Plan 9. It is now in 
a state to be presented to the community.

It is also not only the library, but also a set of smaller tools:

- iccinfo: display metadata about an ICC color profile
- iccconv: convert RGB Plan 9 images using a source profile and a target 
profile. It can also be used to change the "look" of the image by supplying a 
blackbody value.[1]

The library itself is built using the 2022 specification (v4), and tested using 
two sRGB color profiles. Both profiles used LAB as the PCS, so the XYZ routines 
aren't thoroughly tested, some aren't even implemented yet.

The core features of the library are:

- loading and freeing profile data from a file descriptor
- iccAtoB and iccBtoA to convert between data space (RGB) and PCS (LAB/XYZ)
- lab2xyz, xyz2lab

See also the more detailed README in the repository 
(https://shithub.us/sirjofri/libicc/HEAD/info.html).

For ease of comparing images, I created a small image side-by-side viewer 
(https://shithub.us/sirjofri/imgdiff/HEAD/info.html).

Everything was developed on a 9front system, they _should_ work on a 9legacy 
system, too, but I didn't test.

It's by far not complete, but it's a start. Patches are welcome, as is code 
review for the core functionality. Especially the CLUT interpolation.

sirjofri

[1]: This can also be useful in a live scenario to shift colors to a "night" 
mode, or generally adjust the lighting to the environment.

------------------------------------------
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T2637c86cc99f9ac9-Mb7c4118dc2f691db76460a1b
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

Reply via email to