Pure Elixir implementation of Blurhash algorithm

Hey!

I’d like to share with you the library that I recently worked on. This is an implementation of the Blurhash algorithm.

Repo: GitHub - perzanko/blurhash-elixir: Pure Elixir implementation of Blurhash algorithm with no additional dependencies.

What is BlurHash?
BlurHash is an algorithm by Dag Ågren of Wolt that decodes an image to a very compact (~ 20-30 bytes) ASCII string representation, which can be then decoded into a blurred placeholder image.

https://blurha.sh/

Originally, I wanted to use an available C library with Ports or NIFs, but unfortunately I’m not good at C and it seemed like too much work, so I ended up with a pure implementation. I created only encoder, so if anyone is interested in this topic - please feel free to extend it.

I share, it may be useful to someone!

Greetings :nerd_face:

16 Likes

Very interesting!

Do you have a richer corpus of before and after images? Plus the ASCII transitional step?