用黑色像素填充 256 色调色板的空白 space

Fill empty space of the 256 color palette with black pixels

我需要一个 256 像素的调色板,因为 FFmpeg 给我这个错误:

Palette input must contain exactly 256 pixels.

我在 Mac OS 上使用 ImageMagick 从包含一些灰色阴影的图像创建 GIF 调色板,因此我不需要那么大的调色板。 Palettegen 生成调色板的方式是它采用一些最大颜色,例如 max_colors=8 并用黑色填充其余 248 像素。我想对 convert 做同样的事情。

有没有办法在 ImageMagick 中指定最大颜色数,转换并用黑色填充 256 色调色板的其余部分?

您可以在 ImageMagick(8 种灰度)中轻松地做到这一点,方法是创建一个 256x1 的黑色图像,并在开始时将图像中的 8 种灰度阴影合成到它上面。

convert \( -size 256x1 xc:black \) \( image -colorspace gray -dither none -colors 8 -unique-colors \) -compose over -composite colormap.gif