質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

609閲覧

pythonで画像を読み込みたい

ohyama

総合スコア29

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2019/05/08 05:13

###前提・実現したい事
pythonのTensorflowというライブラリを使って画像を複数読み込みたいのですが、エラーが発生して途中で処理が止まってしまいます。エラー内容は以下の通りです。

###発生している問題・エラーメッセージ

Invalid argument: NewRandomAccessFile failed to Create/Open: ・ソC:/2019-04-18/number1/kuboyama/image.png : ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。 ; Unknown error

###該当のソースコード

python

1import tensorflow as tf 2import sys 3 4def read_csv(csvfile): 5 fname_queue = tf.train.string_input_producer([csvfile]) 6 reader = tf.TextLineReader() 7 key, val = reader.read(fname_queue) 8 fname, label = tf.decode_csv(val, [["aa"], ["aa"]]) 9 return read_img(fname) 10 11def read_img(fname): 12 img_r = tf.read_file(fname) 13 return tf.image.decode_image(img_r, channels=3) 14 15def main(): 16 argv = sys.argv 17 argc = len(argv) 18 if (argc < 2): 19 print('Usage: python %s csvfile' %argv[0]) 20 quit() 21 22 image = read_csv(argv[1]) 23 24 sess = tf.Session() 25 init = tf.initialize_all_variables() 26 sess.run(init) 27 tf.train.start_queue_runners(sess) 28 x = sess.run(image) 29 30 print(x) 31 32if __name__ == '__main__': 33 main()

###CSVファイル

C:/2019-04-18/number1/kuboyama/image.png,kuboyama C:/2019-04-18/number2/kuboyama/image.png,kuboyama C:/2019-04-18/number3/kuboyama/image.png,kuboyama C:/2019-04-18/number4/kuboyama/image.png,kuboyama C:/2019-04-18/number5/kuboyama/image.png,kuboyama C:/2019-04-18/number6/kuboyama/image.png,kuboyama C:/2019-04-18/number7/kuboyama/image.png,kuboyama C:/2019-04-18/number8/kuboyama/image.png,kuboyama C:/2019-04-18/number9/kuboyama/image.png,kuboyama

###試したこと
1.最初は画像の場所がC:\Users(ユーザ名)の下にあったので日本語がパスに含まれているのがいけないのかなと思い、日本語を含まない場所に移動したのですが、ダメでした。
2.エクセルでCSVファイルを作成したのですが、そのCSVファイルをterapadで開いてみたところ文字コードがShift-JISだったので、文字コードをUTF-8に変更して保存し直してみたのですが、それでもダメでした。

###補足情報(FW/ツールのバージョンなど)
OSはWindows10です。
Python 3.7.3
エラー文のパスの最初の方が文字化け?してるっぽいのでこれが原因かなとは考えているのですが、対処法が分からないという状態です。

###参考サイト
オリジナルのデータセットを読み込むための準備

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

入力CSVファイルのエンコーディングがBOM付きのUTF-8だと提示エラーが発生します。
適当なテキストエディタなりでBOM無しのUTF-8に変更してください。

PlainText

12019-05-08 14:34:54.187954: W tensorflow/core/framework/op_kernel.cc:1401] OP_REQUIRES failed at whole_file_read_ops.cc: 2114 : Invalid argument: NewRandomAccessFile failed to Create/Open: ・ソc:\_data\lena.png : ファイル名、ディレクトリ名、ま 3たはボリューム ラベルの構文が間違っています。 4; Unknown error

投稿2019/05/08 05:38

can110

総合スコア38266

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問