我需要提取BMP十六进制颜色值并将它们导出到txt文件。

时间:2014-02-15 09:23:48

标签: hex

我想用每行上的像素数据将BMP转换为TXT。

以下是我要提取的内容:http://i.imgur.com/rmdvf8v.jpg

有一种简单的方法吗?我一直在使用颜色选择器,需要提取一系列1x100像素的图像。

我将其导入电子表格,每个图像都作为带有十六进制数据的单元格列。

2 个答案:

答案 0 :(得分:1)

我看到两个选项:

  1. 考虑提取他们使用jpg库编写代码 - 它通常安装在linux中(需要安装libjpeg-devel软件包 - 在Fedora上这里称为libjpeg-turbo-devel)。

  2. 将jpeg加载到 gimp ,然后将其导出到.ppm file。 gimp将允许您将其导出为二进制或ascii文件。在第一种情况下,您可以使用与od -x

  3. 类似的内容转储它

答案 1 :(得分:1)

嘿,不确定这是否是您仍在尝试做的事情,但是:

我做了类似的事情,我需要从.bmp中提取像素数据,以便通过FPGA生成用于VGA接口的.mif或.hex文件。

现在我的进程到目前为止首先将我的.bmp重新保存为RGB16分辨率,这只是个人偏好,因为我的VGA驱动程序设置为采用#0000四字符十六进制值(Alpha,Red,Green) ,蓝色)。

无论如何,在设置图像后,我在gimp中打开它,然后以ASCII格式导出为.ppm。这给了我每个像素的十进制值,但我的计划是写一个简单的脚本将它们转换为十六进制。不过我会提到一件事,我还没有证实这一点,但我知道bmp文件是从左到右从下到上。是否会在像素数据中反映这一点,但是如果它有两个选项:

1)再次编写一个脚本来重新排序数据(繁琐)

2)在油漆区翻转图像(更简单)

希望这会有所帮助:)