OSError: イメージファイルを特定できない
2022-02-09 20:35:09
私が抱えている問題はOSError: cannot identify image file <_io.BytesIO object at 0x7f02cad50780>ですが、これはヘッダーとして機能しません(理由を探った結果)。
まず、なぜOSErrorが発生するのかを少し説明します。
オペレーティングシステムが指定されたタスク(ファイルを開くなど)を実行できない場合に発生し、複数のサブクラスが存在します。
なぜ出るかというと、大量の画像を処理しなければならないのですが、一部の画像が開けないため、OSErrorエラーが発生します。この例外を解決するには、try acceptを使用することです。もちろん、この画像を削除すればいいのです。もし信じられないなら、テストをしてみてください。ここに00001.jpgという新しいファイルを作りました。
import tensorflow as tf
import io
from PIL import Image
img = tf.gfile.FastGFile('00001.jpg','rb')
encoded_jpg = img.read()
encoded_jpg_io = io.BytesIO(encoded_jpg)
image = Image.open(encoded_jpg_io)
height,width = image.size
Python組み込みの例外クラスが付属しています。
<テーブル 例外 ほとんどすべての例外クラスがこのクラスから派生している アトリビュートエラー 属性の参照や値の代入に失敗した場合に発生します。 OSError オペレーティング システムが指定されたタスク (ファイルを開くなど) を実行できない場合に発生し、複数のサブクラスがあります。 インデックスエラー LookupErrorのサブクラスで、シーケンス内に存在しないインデックスを使用した場合に発生します。 キーエラー LookupErrorのサブクラスで、マッピングに存在しないキーを使用した場合に発生します。 名前エラー 名前(変数)が見つからない場合に発生します。 シンタックスエラー コードが正しくない場合に発生します タイプエラー 不正確な型付けのオブジェクトに対して組み込みの操作または関数を使用した場合に発生します。 バリューエラー 型は正しいが不適切な値を含むオブジェクトに対してビルトイン操作または関数を使用した場合に発生します。 ゼロディビジョンエラー(ZeroDivisionError 除算またはモジュロ演算の第2引数がゼロのときに発生します。
似たような問題を解決するために、以外と試してみる方法。
import tensorflow as tf
import io
from PIL import Image
img = tf.gfile.FastGFile('00001.jpg', 'rb')
encoded_jpg = img.read()
encoded_jpg_io = io.BytesIO(encoded_jpg)
try:
image = Image.open(encoded_jpg_io)
height, width = image.size
except (OSError, NameError):
print('OSError')
print('done')
関連
-
[解決済み】空の配列に対するValueErrorを克服する
-
[解決済み] Pythonで辞書にある文字列を両方表示する方法
-
[解決済み] python: ループの再スタート
-
[解決済み] ImportError: flask_sqlalchemy' という名前のモジュールがない/2バージョンのPythonがインストールされている
-
[解決済み] ImportError: concurrent.futures.processという名前のモジュールはありません。
-
[解決済み] Pythonの規約である**kwargs vs **kwds vs **kwとは何ですか?
-
[解決済み] アルファベット順で文字列を比較する
-
[解決済み] コンパイラのフラグでtensorflowをリビルドするには?
-
[解決済み] Matlabのset関数に相当するPythonの関数
-
[解決済み] setattr__ の正しい使い方、無限再帰を回避する方法
最新
-
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コードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
[解決済み】PythonのRequestsライブラリを使って "User-agent "を送信する
-
[解決済み】sklearn ロジスティック回帰 「ValueError: dim 3 の配列が見つかりました。Estimator expected <= 2."
-
[解決済み】BeautifulSoupを使ってHTMLの文字列を検索する
-
[解決済み] Python Requests - 接続アダプタがありません。
-
[解決済み] Python3 で ** や pow() でサポートされていないオペランド型: 'str' と 'int' [重複].
-
[解決済み] TensorFlow:変数の初期化で「初期化されていない値を使おうとしています。
-
[解決済み] scrapyとpythonを使ったtsetmc.comのウェブページからのウェブスクレイピング
-
[解決済み] os.systemの出力を変数に代入し、画面に表示されないようにする [重複] 。
-
SyntaxErrorの理由: Pythonのループの外側の'break'