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

Posted

技术标签:

【中文标题】用黑色像素填充 256 调色板的空白区域【英文标题】:Fill empty space of the 256 color palette with black pixels 【发布时间】:2018-06-06 16:05:16 【问题描述】:

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

调色板输入必须正好包含 256 个像素。

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

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

【问题讨论】:

不久前我用一个特定的调色板做了一些事情——也许你可以适应它...***.com/a/29627240/2836621 您没有明确说明您需要 GIF 还是 PNG?你也没有提到你的操作系统? @MarkSetchell,我更新了我的问题 【参考方案1】:

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

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

【讨论】:

我将您的问题理解为您想要一个带有 256 个条目的 调色板 的图像,尽管 Fred 的回答在这里给出了一个 256 像素的 图像 但是调色板只有 16 个条目长。你能澄清一下你需要什么吗? @MarkSetchell,我需要一个包含 256 个条目的调色板,大小为 256 像素 所以您需要一个 256x1 像素的图像一个包含 256 个条目的调色板 - 当然是在同一个图像中? fmv42,我使用了你的命令,它制作了 256 像素的图像,但有超过 8 像素的灰色,它们通过调色板重复多次,请看一下这张图片:dropbox.com/s/6n2oclrem810o4x/colormap.gif?dl=0 @Peter。您发布的图像有 7 个灰色阴影,其余为黑色。我没有看到任何多页重复。也许是您正在使用的查看器。

以上是关于用黑色像素填充 256 调色板的空白区域的主要内容,如果未能解决你的问题,请参考以下文章

Printwindow 打印有空白区域

网格填充可滚动区域tkinter中的空白空间

裁剪大图像周围的空白区域

photoshop一些简单处理图像的记录

在 Android 中设置 ListView 的“空白”区域的颜色

OpenCV---超大图像二值化和空白区域过滤