根据 colorlookup table 减少图像颜色,不包括透明
Reduce image colors based on colorlookup table excluding transparent
我正在尝试使用 imagemagick 中的 -remap 减少下图中的颜色数量。
奥运会-logo.png
colortable.png这两个颜色组成A12E64,FF0000
使用以下代码:
convert olympic-logo.png +dither -remap colortable.png olympic-logo-remap.png
输出:
奥林匹克标志-remap.png
预期输出:
奥林匹克标志-expected.png
有没有办法忽略透明区域,这样它就不会被映射以获得预期的输出?
感谢加力量
您可以在执行您已经执行的操作之前将原始图像的副本放在一边,然后像这样从中恢复 alpha:
convert rings.png -write MPR:orig +dither -remap colortable.png MPR:orig -compose copyalpha -composite result.png
其中 MPR:
是 "Memory Program Register",即命名的 RAM 块。
您的输入图像没有固定的背景颜色。它主要是黑色的,带有一个大的白色边框。你可以看到,如果你关闭 alpha:
convert olympic-logo.png -alpha off aoff.png
因此您可以通过添加 -background black -alpha background 来修改 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
这对你有用吗?如果不是,请尝试将背景设为全白。
我正在尝试使用 imagemagick 中的 -remap 减少下图中的颜色数量。
奥运会-logo.png
colortable.png这两个颜色组成A12E64,FF0000
使用以下代码:
convert olympic-logo.png +dither -remap colortable.png olympic-logo-remap.png
输出: 奥林匹克标志-remap.png
预期输出:
奥林匹克标志-expected.png
有没有办法忽略透明区域,这样它就不会被映射以获得预期的输出?
感谢加力量
您可以在执行您已经执行的操作之前将原始图像的副本放在一边,然后像这样从中恢复 alpha:
convert rings.png -write MPR:orig +dither -remap colortable.png MPR:orig -compose copyalpha -composite result.png
其中 MPR:
是 "Memory Program Register",即命名的 RAM 块。
您的输入图像没有固定的背景颜色。它主要是黑色的,带有一个大的白色边框。你可以看到,如果你关闭 alpha:
convert olympic-logo.png -alpha off aoff.png
因此您可以通过添加 -background black -alpha background 来修改 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
这对你有用吗?如果不是,请尝试将背景设为全白。