mask - 使用图像蒙版对图像的部分进行像素化/模糊

标签 mask blur graphicsmagick pixelate

我需要使用 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 做到这一点?

有没有一种简单的方法可以达到相同的结果?

最佳答案

更新答案

嗯......花了一些时间“闲逛”,呃,我的意思是刻苦研究选项,我想出了这个,它既更快,也消除了对任何中间文件的需要:

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 的意思是“内存程序寄存器”,它基本上是一 block 带有名称的 RAM。

原始答案

可能有一个更简单的方法,你可以通过闲逛很长时间来解决,但这似乎可以满足我认为你想要的。

这是我的源图像source.tif,尺寸为 400x400px:

enter image description here

我像这样对它进行像素化:

gm convert source.tif -resize 8x -scale 400x pixellated.tif

enter image description here

然后我做了一个像这样的 mask - 我人为地添加了一个红色轮廓,这样你就可以在 StackOverflow 的白色背景上看到范围:

gm convert -size 400x400 xc:white  -fill black  -draw "circle 200,200 200,400" mask.tif

enter image description here

最后的合成如下:

gm composite source.tif pixellated.tif mask.tif result.tif

enter image description here

顺便看看here关于 GraphicsMagickImageMagick 的一些想法。

关于mask - 使用图像蒙版对图像的部分进行像素化/模糊,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57556363/

相关文章:

opengl - 超越人脸检测-OpenCV

css - 如何将一个容器放在另一个div之上

python - 如何在图像中填充 "holes"?

android - 如何在 Surface/Gl View Camera 预览中进行实时模糊处理?

ruby-on-rails - 在 Ubuntu 10.04 上使用 graphicsmagick 安装 rmagick 2.13.1

node.js - 在 Azure Functions 上使用 ImageMagick 或 GraphicsMagick

python - 在 OpenCV python 中测量点到掩码的距离

objective-c - xCode6 如何在 Storyboard中正确应用模糊/活力效果?

html - 将鼠标悬停在链接上 - 背景应该变得模糊,但文本不会

imagemagick - 将 sprite 表转换为 gif 动画