「画像リストの CSVファイルの読み込み」に続く内容として,「画像の整形 (変換)」を示す。
「画像リストの CSVファイルの読み込み」は,reader を構築したところまで:
$ source [パス]/venv/bin/activate
(venv) $ python
>>> import tensorflow as tf
>>> tf.enable_eager_execution()
>>> csv_name = '(パス)/all_image_paths.csv'
>>> csvfile = open(csv_name, 'r')
>>> import csv
>>> reader = csv.reader(csvfile, delimiter=',')
以下,これの続き:
1. リサイズ
データの画像は,サイズがまちまちである。
モデルに合わせて,これらを定形にリサイズする。
5x3, 3x5, 4x3 の3つの画像を,3x3 にリサイズ:
>>> def resize_image_raw(image_raw):
... image = tf.image.decode_image(image_raw, channels=3)
... image = tf.image.resize(image, [3, 3])
... return image
...
>>> def resize_image(path):
... image_raw = tf.io.read_file(path)
... return resize_image_raw(image_raw)
...
>>> for row in reader:
... path = row[0]
... image = resize_image(path)
... image
...
>>>
2. 画素値の範囲 [0, 255] を,[m, n] に変換
ここでは,範囲 [0, 1] に変換する:
>>> csvfile = open(csv_name, 'r')
>>> reader = csv.reader(csvfile, delimiter=',')
>>> for row in reader:
... path = row[0]
... image = resize_image(path)
... image /= 255.0
... image
...
>>>
|