我有本色的image.png,Palette.png(N种颜色,其中N> 256)或文本文件,其中列出了RGB调色板。如何使用此调色板获取图片?
如果我使用imagemagick:
convert image.png -remap palette.png remap_image.png
它不起作用。
convert image.png -map palette.png remap_image.png
给出非常差的质量。图像非常嘈杂。文件大小大于以前。
GIMP提供最佳质量:
Сonvert image to indexed color > use custom palette
但是GIMP是GUI。我需要在控制台中转换很多图像,而无需运行gimp和X.org。
在多个图像上使用共享调色板需要精心设计的调色板。如果您在多个图像之间使用单个图像的调色板时不太注意,结果将会很差。
不必复杂。如果可以访问支持truecolor图形的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。有关示例图片和代码的出色概述,请参见the ImageMagickv6示例页面。
尽管我仍然不[[确切地了解您想做什么,但是您当前的最新注释(“ 是的,从RGB到调色板将独立设置。需要设置正确的颜色数量”),听起来您想要做的就是对一堆图像的颜色数量设置严格的限制,但是它们不需要使用same调色板。
在这种情况下,解决方案非常简单:convert sample.png -colors 135 output.png
如果结果不令人满意,请尝试使用量化选项。如果输出图像太大,您可以尝试使用
-quality
选项。如果仍然不能令人满意,请尝试更详细地说明您的目标。祝你好运!