基于colorlookup表减少图像颜色,不包括透明
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于colorlookup表减少图像颜色,不包括透明相关的知识,希望对你有一定的参考价值。
我正在尝试使用imagemagick中的-remap减少下面图像中的颜色数量。
colortable.png由这两种颜色A12E64,FF0000组成
使用以下代码:
convert olympic-logo.png +dither -remap colortable.png olympic-logo-remap.png
输出:olympic-logo-remap.png
预期产出:olympic-logo-expected.png
有没有办法忽略透明区域所以它不会被映射以获得预期的输出?
谢谢,更多的力量。
答案
您可以在执行已经执行的操作之前将原始图像的副本放在一侧,然后从中恢复alpha,如下所示:
convert rings.png -write MPR:orig +dither -remap colortable.png MPR:orig -compose copyalpha -composite result.png
其中MPR:
是一个“存储器程序寄存器”,即一个命名的RAM块。
另一答案
您的输入图像没有恒定的背景颜色。它大多是黑色的,带有大的白色边框。你可以看到,如果你关闭alpha:
convert olympic-logo.png -alpha off aoff.png
因此,您可以通过向其添加-background black -alpha背景来修改Mark Setchell的命令。
convert xc:"#A12E64" xc:"#FF0000" +append colortable.png
convert olympic-logo.png -background black -alpha background -write MPR:orig +dither -remap colortable.png MPR:orig -compose copy_opacity -composite result.png
这现在适合你吗?如果没有,请尝试将背景全部变为白色。
以上是关于基于colorlookup表减少图像颜色,不包括透明的主要内容,如果未能解决你的问题,请参考以下文章