LoginSignup
1
1

More than 5 years have passed since last update.

【初心者必見】機械学習に入れるための画像データの変換をやってみた➀

Posted at

なにをしたか?

→画像データを1次元配列に変換

機械学習で画像データをインプットするときには、入力の次元数に合わせてデータを変換して投入する必要があります。以下では、画像データを1次元の配列に変換してみました。

<実施手順>

  1. 必要なライブラリーのインポート
  2. PILを使って画像ファイル読み込み
  3. Numpyを使用して画像ファイルをピクセル値で入力
  4. 正規化
  5. 2次元 → 1次元データに変換

実際にやってみた

JupyterNotebookを使用して以下を実行しました

1. 必要なライブラリのインポート

import numpy as np    #numpyのインポート
from PIL import Image #PILのインポート

2. PILを使って画像ファイル読み込み

image1 = Image.open('./data/pict/image1.jpg')
image1

スクリーンショット 2018-11-28 23.49.22.png

3. Numpyを使用して画像ファイルをピクセル値で入力

image1_px = np.array(image1)
print(image1_px)

スクリーンショット 2018-11-28 23.52.59.png

スクリーンショット 2018-11-28 23.53.24.png

ピクセルの値を確認

print(image1_px.shape)
# (300,500,3)

スクリーンショット 2018-11-29 0.06.43.png

上記の出力されたimage1_pxが300(行)×500(列)のカラーチャンネル3であることを確認できました。

4. 正規化

image1_nor = image1_px.astype(np.float32)/255.0
print(image1_nor)

スクリーンショット 2018-11-28 23.55.56.png
スクリーンショット 2018-11-28 23.56.13.png

正規化されて0〜1になっていることが確認できました。

5. 2次元 → 1次元データに変換

image1_fl = image1_nor.flatten()
print(image1_fl)

スクリーンショット 2018-11-29 0.22.06.png

1次元のデータが出力されていることが確認できました。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1