【发布时间】:2017-12-08 21:28:10
【问题描述】:
我编写了这个 Python 程序来创建矩阵(二维数组)并将其保存到 .png 文件中。该程序编译并运行,没有任何错误。即使创建了 IMAGE.png 文件,但 png 文件也不会打开。当我尝试在 MSPaint 中打开它时,它说:
无法打开图片。不是有效的位图文件或其格式目前不受支持。
我的目标是根据 2D 数组中存储的数字创建一个 RBG png 图像。
源代码:
import numpy;
import png;
imagearray = numpy.zeros(shape=(512,512));
/* Code to insert one '1', '2', '3' in certain locations
of the numpy 2D Array. Rest of the location by default stores zero '0'.*/
f = open("IMAGE.png", 'wb');
f.write(imagearray);
f.close();
我不明白我哪里出错了,因为没有错误消息。请帮忙。
PS- 我只是想将矩阵保存为图像文件,所以如果您在 Python2.7 中有更好更简单的方法,请建议。
【问题讨论】:
-
请不要在python中使用分号,这是不必要的。此外,您的代码过度缩进。
-
您的代码不起作用,因为 python 不知道您正在尝试保存图像 - 它所看到的只是您将数组写入的二进制文件 -
.png只不过文件名的一部分。有效的 PNG 文件需要一个标头,而您创建的文件没有此标头
标签: python arrays numpy bitmap pypng