我正在从一个文件中读取二进制数据,该文件指定x和y坐标上的强度值(不是开源图像格式),并希望将其转换为PNG图像(或其他广泛支持的格式)。我将数据加载到一个数组中(使用array模块),其中每个元素都是0到255之间的整数。要将其保存为PNG,我可以为每个元素(x)创建一个3项元组,如下所示:
t = (x, x, x)
使用map()在数组中添加apply,然后使用putdata()保存图像。但是,转换为元组数组需要很长时间(几分钟)。有没有办法只用一个整数(不是元组)来指定rgb值。我猜另一个选择是使用NumPy,但我不知道从哪里开始,所以在这方面的任何帮助也将不胜感激。
提前谢谢你的帮助。
创建新图像时,将其设置为模式L:
其中数据是值的列表,而不是元组。
你要找的是im.putpixel(xy,colour)吗?
有几种方法可以做到这一点,但是如果您已经在内存中有了数据,请使用
Image.frombuffer
或Image.fromstring
模式(对于8位灰度数据)进行查找。相关问题 更多 >
编程相关推荐