matplotlib:ValueError:无效的PNG标头

问题描述 投票:4回答:2

import matplotlib.pyplot as plt

我试图在同一文件夹中的许多其他png照片中读取png照片。有些照片使用以下行读取没有错误,有些返回“ValueError:无效的PNG标题”。可能是什么原因?它们看起来像普通照片给我。

plt.imread(filename)

matplotlib
2个回答
3
投票

由于@MichM已经声明图像的标题已经改变,并且它不是有效的png图像。读取图像为

plt.imread(filename, 0)

如果您在https://matplotlib.org/api/_as_gen/matplotlib.pyplot.imread.html?highlight=imread#matplotlib.pyplot.imread上阅读了Matplotlib imread的文档

- >如果提供了format,将尝试读取该类型的文件,否则将从文件名中推断出格式。如果无法推断出任何内容,则尝试使用PNG。 < -


0
投票

事实证明,在我获得这些文件之前,必须手动将jpg文件更改为png扩展名。这些文件在操作系统的图片查看器中正确打开,因此看起来与同一批次中的实际png文件无法区分,但它们不能被python脚本作为png文件处理 - 因为它们不是。他们没有alpha通道。

© www.soinside.com 2019 - 2024. All rights reserved.