Wolt's BlurHash as an extension for Rebol3.
blurhash: import 'blurhash
;; load some input image...
image: load %test/koule.jpg
;; encode the image into blurhash text...
hash: blurhash/encode image
;; display the result in console...
? hash
;; HASH is a string of value: "KRG[vKbFE1^^cnNs+}Q$*kD"
;; decode the hash back to image of specified size...
blured1: blurhash/decode hash 512x512
;; ... or into some existing image...
blurhash/decode hash image
For better performance (cca 10x faster) when displaying many blured images, it is better to decode into a small image and then resize the result. Like:
blured2: blurhash/decode hash 32x32
blured2: resize blured2 512x512
Which can be written also like:
blured2: resize blurhash/decode hash 32x32 512x512
Original image:
Blured image using direct size:
Blured image using small size 32x32 and then resized: