1. ホーム
  2. パイソン

python IOError: イメージファイルを識別できない

2022-02-09 03:56:26
<パス

pythonは画像処理を行い、一組の画像の大きさを出力します。コードは以下の通りです。

import Image
im=Image.open('D:\\pythonword\\\tt.jpg')
print im.size

エラーで実行。IOError: cannot identify image file 'D:\pythonwordttpd.jpg'.

エラー報告の原因を段階的に分析します。
(1) まず、ピローファイルが正常にインストールされていることを確認します(easy_installとpipを使用、具体的なインストール手順は他のブログの http://blog.csdn.net/sinat_25704999/article/details/49976137 )
(2)pythonのファイルパスは、" \pythonwordtt.jpg" を "/" に書き換える必要がありますが、上記コードでは "D:\pythonwordtt.jpg" と正しく書かれており、このアドレスをブラウザに入力すれば普通に画像が開くので、ファイルパスに問題はないです。

(3) JPEG形式だけでなく、PNG形式や他の画像ファイル形式でも同じエラーが報告されます。

import Imageをfrom PIL import Imageに置き換えると、コードは正常に実行され、画像のサイズが表示されます。

要約すると
PIL (Python Imaging Library) は何年も更新されておらず、新しいバージョンの python では動作しないため、Pillow が生まれました。しかし、PillowはPILから派生したものなので、関連ファイル(例えばImage)のインポートは、import Imageという書き方ではなく、from PIL import Imageという書き方をする必要があります。