ImageMagick in combination with pngquant and ppmtoilbm (from the netpbm package) produces good results as well.
This short example also takes the limited 4096 colours palette into account (posterize):
Code:
magick kodim23.png -resize 320x png:- | pngquant 16 --posterize ARGB0444 - | magick - ppm:- | ppmtoilbm - > kodim23.ilbm
Image taken from here:
https://www.egr.msu.edu/waves/people...al/kodim23.png