【发布时间】:2019-05-22 04:52:26
【问题描述】:
我需要从 XML 文件中提取图像数据并将图像作为单独的文件输出。
我已经处理了解析,但是我不知道如何转换为图像。
XML 看起来像这样:
<Bitmap>
<BitmapInfo BitWidth="40" BitHeight="40" ByteWidth="8" BitCount="1" ColorCount="2" Compression="true">
<ColorTable>
<Color>0</Color>
<Color>16777215</Color>
</ColorTable>
<BitData>Af5/+/8B/h/7/wH+B/v/Af4B+/8C/gB//P8C/gAf/P8C/gAH/P8C/gAB/P8D/gAAf/3/A/4AAB/9/wP+AAAH/f8D/gAAAf3/AP7+AAB//v8A/v4AAB/+/wD+/gAAB/7/AP7+AAAD/v8A/v4AAAf+/wD+/gAAH/7/AP7+AAB//v8D/gAAAf3/A/4AAAf9/wP+AAAf/f8D/gAAf/3/Av4AAfz/Av4AB/z/Av4AH/z/Av4Af/z/Af4B+/8B/gf7/wH+H/v/Af5/s/8=</BitData>
</BitmapInfo>
<Area Left="4430000" Top="12690000" Right="4563333" Bottom="12823333" />
</Bitmap>
另一个例子:
<Bitmap>
<BitmapInfo BitWidth="24" BitHeight="14" ByteWidth="4" BitCount="1" ColorCount="2" Compression="true">
<ColorTable>
<Color>0</Color>
<Color>16777215</Color>
</ColorTable>
<BitData>/f8u8+c5//PnOf/z5hn/8+bZ//Pm2f/z5Mn/8+Xp//Pl6f/z4eH/8+Px/4Bj8f8AM/n8/w==</BitData>
</BitmapInfo>
<Area Left="1043333" Top="13360000" Right="1123333" Bottom="13406667" />
</Bitmap>
任何有关如何进行此操作的指示都会有所帮助。
【问题讨论】:
-
检查枕头(它是 PIL 的替代品)。
-
@JosepValls 谢谢,但我在枕头/PIL 中找不到任何有助于压缩和字节宽度的东西
-
图像数据的压缩算法和比特数据串的编码方式是什么?
-
不知道图片数据的压缩算法。位数据字符串似乎是 base64 编码的。
-
ByteWidth 等字段代表什么? (我假设 BitWidth、BitHeight、BitCount 是 2D 大小(以像素为单位)和颜色深度)。 Area 坐标也一样。还有为什么要同时使用 Java 和 Python 标签?
标签: java python image image-processing python-imaging-library