ImageMagick

For more info on the inner working of below example, refer to the associated knowlegde page.

All images are compressed, and thus a bit blurry

Table of Content


Compositing

Difference

Difference With Blurry Self

magick test.jpg -blur 0x5 test.jpg -compose difference -composite out.jpg

Differenre With Tesselated Self

magick test.jpg -blur 0x5 -sample 10% scale 1000% test.jpg -compose difference -composite out2.jpg

Multiply

Multiply With Tesselated Self

magick test.jpg -blur 0x5 -sample 1% -scale 10000% test.jpg -compose multiply -composite out3.jpg

Custom Pattern Dithering

Diagonal

Using the matrix described here.

Offset Halftone Dither

Using code found in the ImageMagick documentation
magick colorwheel.png  -set option:distort:viewport '%wx%h+0+0' \
-colorspace CMYK -separate null: \
\( -size 2x2 xc: \( +clone -negate \) \
      +append \( +clone -negate \) -append \) \
-virtual-pixel tile -filter gaussian \
\( +clone -distort SRT 60 \) +swap \
\( +clone -distort SRT 30 \) +swap \
\( +clone -distort SRT 45 \) +swap \
\( +clone -distort SRT 0 \)  +swap +delete \
-compose Overlay -layers composite \
-set colorspace CMYK -combine -colorspace RGB \
offset_colorwheel.png

Picture as Map

More info about using pictures for dithering here.

Matrix Used

Here you can see the gif used as a map. It contain four letters pictures of 30x30 px(choosed randomly) : I B G A

Result

And here is the dithered version. (Depending on the redenring of your browser and the resolution of you screen, the quality may vary (I swear it's super sharp on my screen)).
Here is a close up of edges, showing how the various frames merges at a gradients.

- home -