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: gist.github.com/Frederikam/115

@fred i get weird flickers when i scroll that image at 100% zoom. Looks surprisingly good when it's still though!

@fred I wonder if adding a very small gaussian blur by the image reader wouldn't enhance a bit the perceived quality
@fred Yep the result is not so bad, but maybe too blurry to be usefull.

Maybe there is an interesting compromise doable :
a way bigger picture with only 8 colors. The displayer blurs it and then shrink it.
I wonder if like this a picture would take less data than the original.

@lord here's the unblurred image, followed by an upscaled then blurred image, followed by the second image down-scaled

@fred not bad, no ?
the down-scaled one looks great.

@fred
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).

web.cs.wpi.edu/~matt/courses/c

Self organizing networks like Kohonen's
( en.m.wikipedia.org/wiki/Self-o ) 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
This just federated to me and I'm boosting it again thx still looks cool

@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.

Sign in to participate in the conversation
niu.moe

Welcome to your niu world ! We are a cute and loving international community O(≧▽≦)O !