32 comments

[ 2.5 ms ] story [ 84.0 ms ] thread
I wonder if you could use this for some kind of "secret" message.

Or perhaps like a parity system like RAR files had back in the day to rebuild any of the other images if one were to get lost.

> I wonder if you could use this for some kind of "secret" message.

I think you’d just have a worse version of normal steganography methods

but what if your palette consisted of images with steganography :P
Mistaken PAR for RAR? In addition to mostly numbered RAR's archives, the PAR added the safety and recovery layer afiak.
You have some conflict markers in your README :)
Oh wow I forgot about those! Thanks haha
I feel there's a lost opportunity in not naming this project Emosaic or even Mojaic.
Well it's not entirely oriented towards emojis. You can use any image palette to your hearts desire!
I see, your README actually says that but I just skimmed over it and went by the HN title, my bad. Cool project BTW!
I see that you use euclidean distance of perceptual color and named your color function bad_color_distance. My only input here would be to try something like the CIEDE2000 color difference formula to see if the result can be further improved.
I am currently just looking into other color spaces, but I'll have to check that out too! Thanks! :D
(comment deleted)
Feels like a good match for rust's 'fearless concurrency'.

With the large number of emojis available, do you still get decent results if you don't use any single emoji twice?

yeah this can handle several thousands of images in the palette
Read the README, and noticed the picture. My first thought was “why don’t they show the result?”.

Then it hit me. Excellent job!

I think Floyd-Steinberg could probably allow you to have multiple pixels per emoji.
Hey thanks for this. Even though I don't completely understand it, it's inspired me to find something fun and smallish to create :)
Nice! I made a doom renderer with emojis some time ago, but I decided to keep the emojis bigger, so you could identify them. But I like your approach, will definitely try in my doom renderer too: https://github.com/CrociDB/doomoji