更新的答案
好吧......花了一些时间“四处闲逛”,错误,我的意思是刻苦研究选项,我想出了这个既更快又消除了对任何中间文件的需求:
cat - <<EOF | gm batch -prompt off
convert source.tif -resize 8x -scale 400x MPR:pixellated
convert -size 400x400 xc:white -fill black -draw "circle 200,200 200,400" MPR:mask
composite source.tif MPR:pixellated MPR:mask result.tif
EOF
它产生与下面相同的结果。如果有人感兴趣,MPR的意思是“内存程序寄存器”,它基本上是一块带有名称的 RAM。
原始答案
可能有一种更简单的方法,您可以通过长时间的用餐来解决,但这似乎可以满足我的想法。
这是我的源图像source.tif
,它是 400x400px:

我像这样像素化它:
gm convert source.tif -resize 8x -scale 400x pixellated.tif

然后我做了一个这样的蒙版——我人为地添加了一个红色轮廓,这样你就可以在 StackOverflow 的白色背景上看到范围:
gm convert -size 400x400 xc:white -fill black -draw "circle 200,200 200,400" mask.tif

并像这样进行最终合成:
gm composite source.tif pixellated.tif mask.tif result.tif

顺便说一句,请参阅此处了解有关GraphicsMagick与ImageMagick的一些想法。