使用图像蒙版像素化/模糊图像部分
Pixelate / blur parts of image using an image mask
我需要使用 tif 格式的蒙版图像对图像的某些部分进行像素化处理。
在 ImageMagick 中有多种选择,例如:
convert -quality 100 source.tif \( -clone 0 -resize 16% -scale 3840x2160! \) \( unsharp_mask.tif \) -composite result.tif
源图片和unsharp_mask图片大小相同:3840 x 2160
unsharp_mask 图像除需要像素化的区域外填充为黑色,它们在源图像中为白色。
我如何使用 GraphicsMagick 来实现?
有没有简单的方法可以达到同样的效果?
更新答案
嗯...花了一些时间"dinking around",呃,我的意思是刻苦研究选项,我想出了这个既更快又省去了是否需要任何中间文件:
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 表示 "Memory Program Register" 并且它基本上是一块带有名称的 RAM。
原答案
可能有一个更简单的方法,您可以通过长期用餐来解决这个问题,但这似乎可以满足您的需求。
这是我的源图像 source.tif
,它是 400x400px:
我这样像素化它:
gm convert source.tif -resize 8x -scale 400x pixellated.tif
然后我做了一个这样的蒙版 - 我人为地添加了一个红色轮廓,这样你就可以在 Whosebug 的白色背景上看到范围:
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
顺便说一下,请参阅 here 了解关于 GraphicsMagick 与 ImageMagick.
的一些想法
我需要使用 tif 格式的蒙版图像对图像的某些部分进行像素化处理。
在 ImageMagick 中有多种选择,例如:
convert -quality 100 source.tif \( -clone 0 -resize 16% -scale 3840x2160! \) \( unsharp_mask.tif \) -composite result.tif
源图片和unsharp_mask图片大小相同:3840 x 2160
unsharp_mask 图像除需要像素化的区域外填充为黑色,它们在源图像中为白色。
我如何使用 GraphicsMagick 来实现?
有没有简单的方法可以达到同样的效果?
更新答案
嗯...花了一些时间"dinking around",呃,我的意思是刻苦研究选项,我想出了这个既更快又省去了是否需要任何中间文件:
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 表示 "Memory Program Register" 并且它基本上是一块带有名称的 RAM。
原答案
可能有一个更简单的方法,您可以通过长期用餐来解决这个问题,但这似乎可以满足您的需求。
这是我的源图像 source.tif
,它是 400x400px:
我这样像素化它:
gm convert source.tif -resize 8x -scale 400x pixellated.tif
然后我做了一个这样的蒙版 - 我人为地添加了一个红色轮廓,这样你就可以在 Whosebug 的白色背景上看到范围:
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
顺便说一下,请参阅 here 了解关于 GraphicsMagick 与 ImageMagick.
的一些想法