ImageMagick:替换除特定颜色列表之外的所有内容

时间:2018-04-21 03:17:30

标签: imagemagick

使用ImageMagick,如何更换除透明度的特定颜色列表之外的所有内容。

例如,使用源图像:

enter image description here

我想用透明度替换除青色,蓝色和洋红色之外的所有东西(最好带有一些模糊因子):

enter image description here

我已尝试+opaque "#0000ff",但一次只能使用一种颜色。还有其他方法吗?

1 个答案:

答案 0 :(得分:2)

使用ImageMagick,您可以使用加号" +" " -transparent"的形式operator除了指定的颜色外,一切都是透明的。使用输入克隆中的每个选定颜色运行一次,删除原始输入,展平剩余的三个图像,然后写入输出。

convert input.png -background none -fill none -fuzz 5% \
   \( -clone 0 +transparent "#ff00ff" \) \
   \( -clone 0 +transparent "#0000ff" \) \
   \( -clone 0 +transparent "#00ffff" \) \
      -delete 0 -flatten result.png