0

我试图减少 png 中的颜色数量,同时忽略 alpha 通道以产生类似于我在 Photoshop 或 GIMP 中得到的结果。我已经阅读了 ImageMagick量化页面,并尝试了各种选项,但收效甚微。即使我在量化时使用透明颜色空间(-透明),ImageMagick 也会继续弄乱透明度。

实例专辑

我的目标是类似于第二张图像的结果,这是在 GIMP 中将颜色减少到 4 后的第一张图像(透明度通道保留在最终结果中,并且不会影响量化产生的颜色) . 第三种和第四种是 ImageMagick 使用 RGB 和透明色彩空间设置生成的(大部分不透明区域被转换为透明,第 4 种颜色用于透明度;生成的颜色整体更暗)。

4

2 回答 2

0

根据Mark Setchenll 的回答,我注意到他的命令去除了透明度并用基于图像内容的颜色替换它,但增加了颜色计数。从那开始,我发现将原始图像覆盖在结果上可以让我减少颜色计数,而结果颜色不会因为透明度而明显不同。然后从原始图像复制原始 Alpha 通道以产生与 GIMP 产生的结果非常相似的结果。

convert emblem.png ( +clone ( +clone -separate -channel RGB +dither -colors 4 +channel -combine ) +swap -flatten ) -channel A -threshold 50% +swap -compose CopyOpacity -composite +dither -colors 5 test.png

考虑到透明度,最终的缩小幅度更大,并生成了一个与此图像的图像编辑器中的颜色相似的调色板。

比较图像

  1. 原来的
  2. GIMP
  3. convert UmRGOCs.png -separate -channel RGB -colors 4 +channel -combine out.png
  4. convert emblem.png ( +clone ( +clone -separate -channel RGB +dither -colors 4 +channel -combine ) +swap -flatten ) -channel A -threshold 50% +swap -compose CopyOpacity -composite +dither -colors 5 test.png
于 2014-09-29T17:58:32.003 回答
0

拆分通道并明确选择要减少颜色的通道,然后重新组合通道,可能是一种方法:

convert UmRGOCs.png -separate -channel RGB -colors 4 +channel -combine out.png

在此处输入图像描述

于 2014-09-29T12:39:44.213 回答