如何从 5-6-5 位图图像中提取调色板?

Posted

技术标签:

【中文标题】如何从 5-6-5 位图图像中提取调色板?【英文标题】:How can I extract the palette from a 5-6-5 bitmap image? 【发布时间】:2011-04-16 03:19:47 【问题描述】:

我正在尝试从使用 ImageConverter Plus 从原始 Photoshop 文件中生成的 5-6-5(16 位)位图图像中提取调色板。我需要读出调色板并将其与我在其他地方的调色板进行比较以获取另一张图像。

有没有可以做到这一点的免费软件(或没有)?我可以使用另一款软件读取 .pal 和 .act 格式的调色板文件,但我想首先从位图中生成其中一个文件!

谢谢,

乔治


添加更多信息:

我从 Photoshop 中的 8 位 PNG 开始,它使用我已经创建的预定义调色板。其中最多有 256 种颜色,我将其保存为 PNG 文件。然后我将其转换为 ImageConverter Plus 中的 5-6-5 位图,它将缩放每种颜色的 RGB 值,因为在 8 位 PNG 中它们是根据 0-255 定义的,但显然在 5-6-5 bitmap 分别定义在 0-31, 0-63, 0-31。

我现在要做的是检查 5-6-5 位图的值,并基本上从中重新提取调色板。您不能在 Photoshop 中执行此操作,因为当您再次打开文件时,颜色会自动转换为 0-255 范围。真的,我可以使用什么图像程序来查看我的新 BMP 中的 0-31 等值。

我应该解释一下,最终图像不用于在 PC 屏幕上显示,我很欣赏这个过程有些令人费解,但这就是必须的!

【问题讨论】:

【参考方案1】:

那里没有调色板,有 65536 种可能的颜色,但没有调色板。 因此,如果将其转换为 24 位图像,颜色将是相同的。

所以如果你可以从 24 位图像中提取调色板,你就完成了 :-)

【讨论】:

感谢您的回复,我在上面的问题中添加了一些进一步的信息,解释了我所追求的。我想我只是没有完全正确地解释这个问题! 不幸的是,我相信需要自定义脚本。 一旦将其转换为 5-6-5 位图,调色板就完全消失了。您仍然可以获得的最接近的是使用一些脚本/程序来检查所有像素并制作所有独特颜色的列表,并使用它制作图像调色板,尽管这显然不会与原始调色板具有相同的顺序。

以上是关于如何从 5-6-5 位图图像中提取调色板?的主要内容,如果未能解决你的问题,请参考以下文章

从黑白位图图像中提取路径信息

使用 libjpeg / C++ 从文件中提取 JPEG 编码位图 (BMP) 图像

.net 位图改变图像的颜色

BMP文件中图像数据是按啥顺序存放的?

如何从视频中捕获位图图像

BMP文件结构(转)