【Python 】jpeg ファイルを読み込み数値化(テンソル)するサンプルコード

jpeg ファイルを読み込み、Tensorflow で使いやすいテンソルデータに変換するサンプルコードです。

スポンサーリンク

手順

以下の手順で進めます。

結果として 64x64のjpegだと以下のような形式となります。

result.shape
(64, 64, 3)
縦×横×RGB

スポンサーリンク

サンプルコード

Python2.7 + Ubuntu 16.04.2 + Tnsorflow 1.0 で動作確認をしております。

/test/list.csv に csv ファイルを設置します。1行にjpegファイルをフルパスで記載します。

import tensorflow as tf

#
csv_filename = '/test/list.csv'
num_of_image = 2

filename_queue = tf.train.string_input_producer([csv_filename])

#TextLineReaderで1行ごとにファイルを読み込み
reader = tf.TextLineReader()
key, val = reader.read(filename_queue)

#csv内のjpgファイル名とラベルを取得。デフォルト値を設定
filename, label = tf.decode_csv(val, [["a"], [0]])

#jpgを読み込み
jpeg_r = tf.read_file(filename)

#jpegをデコード
image = tf.image.decode_jpeg(jpeg_r, channels=3)

sess = tf.Session()
init = tf.initialize_all_variables()
sess.run(init)
tf.train.start_queue_runners(sess)

for i in range(num_of_image):
result = sess.run(image)
print(result)


スポンサーリンク

(*)Windows 標準の画像処理ソフトである ペイント により生成したイメージは正常に処理されませんでした。

[Tensorflow メモへ戻る]