import matplotlib.pyplot as plt
matplotlibの:ValueErrorを:無効なPNGヘッダー
私は、同じフォルダ内の他の多くのPNG写真の中のPNG写真をIMREADしようとしました。次の行を使用してエラーなしで読み取られた写真と、ValueError:PNGヘッダーが無効です。何が原因だろうか?それらはすべて私にとって普通の写真のように見えます。
plt.imread(filename)
import matplotlib.pyplot as plt
matplotlibの:ValueErrorを:無効なPNGヘッダー
私は、同じフォルダ内の他の多くのPNG写真の中のPNG写真をIMREADしようとしました。次の行を使用してエラーなしで読み取られた写真と、ValueError:PNGヘッダーが無効です。何が原因だろうか?それらはすべて私にとって普通の写真のように見えます。
plt.imread(filename)
それは私がそれらのファイルを持って前に誰かが手動でPNGの拡張子にJPGファイルを変更している必要があり判明。これらのファイルは、OSからピクチャビューアで正しく開かれているため、同じバッチの実際のpngファイルと区別できませんが、pngファイルとして処理することはできません。彼らはアルファチャンネルを持っていません。
@MichMは、すでに何らかの形であなたのイメージのヘッダーが変更され、それが有効なPNGイメージではないと述べているとおり。あなたはhttps://matplotlib.org/api/_as_gen/matplotlib.pyplot.imread.html?highlight=imread#matplotlib.pyplot.imread
でmatplotlibのの関数imreadのドキュメントを読めば
plt.imread(filename, 0)
としてイメージを読む - >フォーマットが用意されている場合は、それ以外の形式はから推定され、そのタイプのファイルを読み込むしようとしますファイル名推測できるものがなければ、PNGが試されます。 < -