跨多个图像使用共享调色板需要精心制作的调色板。如果在多个图像中使用单个图像的调色板时不小心,结果会很差。
不过,这不必复杂。如果您可以访问支持真彩色图形的 GIMP(或其他工具),您可以创建一个大图像并将所有较小的图像放入其中,然后将图像量化为 N 种颜色,然后使用该调色板作为源。
您应该能够使用 ImageMagick 在控制台中密切模仿 GIMP 的行为
一旦你得到了一张包含你想要量化的所有颜色的真彩色图像,
# Create an 8-bit png from our source, with a 235-color palette as an example.
convert truecolor_source.png -colors 235 palette.png
# Create an 8-bit png from an arbitrary image and use the palette in palette.png
convert sample.png -map palette.png output.png
有许多用于下采样颜色的选项,例如dithering。请参阅ImageMagickv6示例页面以获取带有示例图片和代码的出色概述。
虽然我仍然不完全了解您想要做什么,但您当前最近的评论(“是的,从 RGB 到调色板将独立设置。需要设置正确的颜色数量”),听起来你想要做的就是设置对一堆图像的颜色数量有严格限制,但它们不需要使用相同的调色板。
在这种情况下,解决方案非常简单:
convert sample.png -colors 135 output.png
如果结果不满意,请尝试使用量化选项。
如果输出图像对您的喜好太大,您可以尝试该-quality
选项。
如果这仍然不令人满意,请尝试以更详细的方式解释您的目标。祝你好运!