1

我的问题是,使用 imagemagick(或 java 库)仅使用从 159 色静态调色板中选择的 15 种颜色重新着色图像的最佳方法是什么。我会使用这 15 种颜色来创建 15_color_palette.png 并使用 imagemagick convert 的 remap 函数来重新着色图像。

convert input.png +dither -remap 15_color_palette.png output.png

我尝试了几种不同的方法,但它们都不够好(至少我认为它们可以做得更好——我想可能没有更好的方法)。

示例 1:

convert input.png +dither -colors 15 work/15_color.png
convert work/15_color.png -unique-colors work/15_color_palette.png
convert work/15_color_palette.png -remap work/palette.png work/15_color_palette_converted.png 
convert input.png +dither -remap work/15_color_palette_converted.png work/final.png

(这个从所有颜色中选择 15 种颜色,将其重新映射到 159 调色板中的 15 种颜色,然后使用这 15 种颜色重新着色原始图像)。

示例 2:

convert +dither -remap work/palette.png work/remap.png
#use java to count top 15 colors used from the remap, recolor the original using those 15 colors
convert +dither -remap work/temp_palette.png work/final.png
4

0 回答 0