1

我编写了这个 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 中有更好更简单的方法,请建议。

4

1 回答 1

2

使用 matplotlib 绘制图像并保存。

import matplotlib.pyplot as plt
import numpy as np
a = np.random.uniform(size=(25, 25, 3))  # random 3D array
plt.imshow(a)
plt.savefig("img.png")

imshow()有各种感兴趣的参数,其中interpolation( examples here ) 和cmap(colormap)

要删除轴和空格,根据这个问题

plt.axis('off')
plt.savefig("img.png", bbox_inches='tight')
于 2017-07-05T09:38:32.683 回答