python IOError: イメージファイルを識別できない
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という書き方をする必要があります。
関連
-
Pythonの画像ファイル処理用ライブラリ「Pillow」(グラフィックの詳細)
-
[解決済み】TypeError: 'encoding'はこの関数の無効なキーワード引数です。
-
Python --- AttributeError: 'NoneType' オブジェクトに 'xxxx' という属性がない問題
-
[解決済み] OpenCV houghLinesP パラメータ
-
[解決済み] PythonでUPPERCASの文字列を文の大文字に変換する
-
[解決済み] 基本ファイルが実行されない → デバイスPRNを初期化できない
-
[解決済み] Spyderのオブジェクトインスペクタがない
-
[解決済み] エラー "TypeError: type numpy.ndarray doesn't define __round__ method"
-
[解決済み] PyTorchの "view "メソッドはどのように動作するのですか?
-
virtualenvwrapper.hook_loader'のモジュール仕様を見つける際にpythonエラーが発生しました。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Pythonのリスト操作がなぜ間違っているのかを分析する
-
[解決済み] pandasで1つの列を除くすべての列を選択する方法は?
-
[解決済み] RequestsライブラリでHTTP DELETEリクエストを行う方法
-
[解決済み] Kivy ScrollView内のGridLayoutをスクロールするにはどうすればよいですか?
-
[解決済み] Pythonにおけるusleep
-
[解決済み] インポートエラー:paho.mqtt.clientが見つかりません。
-
[解決済み] TensorFlowチュートリアルのbatch_xs, batch_ys = mnist.train.next_batch(100) のnext_batchはどこから来ているのでしょうか?
-
[解決済み] なぜ1-0.9は0.1ではないのですか?[重複]
-
[解決済み] 名前パターンをインポートできない
-
Pythonビギナーエラーです。TypeError: サポートされていないオペランドタイプ(複数可) for +: 'int' および 'str'