Exoquant is a very high quality image quantization library (ie. for converting 32-bit (true-color) images to 8-bit (indexed) images. The quality of its output is at least on par to any other image quantization I know about. The library covers all aspects needed to convert images to 8-Bit, including quantization, palette optimization and remapping with dithering.
Use cases for image quantization today are mostly to decrease the file sizes of images, eg. for web projects, as indexed images can be quite a bit smaller than the original true-color versions, without any real visible differences.
This is my first published Rust crate, so I expect some rough edges to be still in place, but the library is feature complete minus some small tweaks to the colorspace/gamma handling. Expect minor API breakage between releases until v1.0.
Code / API reviews are definitely welcome at this point, if someone with more Rust experience is interested in doing this for this library.
pngeq is small command line tool utilizing the exoquant library to convert 24/32-bit PNGs to 8-bit PNGs. It serves as an example for using the library, as well as an easy way to try exoquant on your own images.