PIL无法正确读取已编辑的png

时间:2018-09-27 06:14:56

标签: python python-imaging-library

我有一个脚本来创建迷宫并将其另存为.png文件。另外,我还有另一个脚本可以解决创建的迷宫。解决迷宫的脚本将打开这些.png文件并将其转换为数组。然后它也将解决的迷宫另存为.png文件。

maze = np.array(Image.open('maze.png'))

它运行完美。但是,当我编辑包装的迷宫时,求解脚本会创建一个.png文件,看起来像是随机颜色的对角线。 enter image description here

img = Image.fromarray(maze, 'RGB')
img.save('solved.png')

但是当我在Paint中绘制自己的迷宫时,脚本可以正常工作。为什么会这样?

1 个答案:

答案 0 :(得分:1)

您的PNG图像可能只有两种颜色,因此已被调色板化,并且可以通过调色板节省下来(每个像素1个索引到调色板中,而不是每个像素3个RGB三元组)。

确保它是RGB,具有:

maze = np.array(Image.open('maze.png').convert('RGB'))