I got really bored so I wrote a simple dithering tool in Kotlin. It is surprising how little loss you get when reducing an image to 8 colors. Source code: https://gist.github.com/Frederikam/115a15450bec82720d3bb5a70b5ceefd
This particular algorithm is called Floyd-Steinberg dithering https://en.wikipedia.org/wiki/Floyd%E2%80%93Steinberg_dithering
@fred i get weird flickers when i scroll that image at 100% zoom. Looks surprisingly good when it's still though!
@lord you can see how it seems to reverse its effect
@lord here's the unblurred image, followed by an upscaled then blurred image, followed by the second image down-scaled
BTW, the best way to get a good color reduction is to use some clustering algorithm to get the best color combination. There's plenty of relevant literature in the academia (key word: color quantization).
Self organizing networks like Kohonen's
( https://en.m.wikipedia.org/wiki/Self-organizing_map ) give out the best results.
@rick_777 looks interesting. Perhaps I'll try it out some day.
@tija being a masochist I'm sure she would like that
@fred that image creates some fantastic moire patterns on my screen when zooming!
@fred BBS’s used to advertise with dithered pics like this, but not usually with such finesse. Wonderful, thanks heaps.
Welcome to your niu world ! We are a cute and loving international community Ｏ(≧▽≦)Ｏ !