Chainer用の画像処理メモ(6)画像をNumpy配列に変換
機械学習で、Chainer用に、画像→ndarray変換を行うために、pythonの勉強をしている。
http://twosquirrel.mints.ne.jp/?p=20153
前回は、NumPy配列について、以下の本で勉強してみた。3つの本すべての該当部分を読んで初めて、なんとなくNumPy配列が分かってきた気がします。
今回は、以下のサイトを写経してみたい。
Python – NumPyで画像を配列として取得する
投稿者: edo1z 投稿日: 09/27/2015
(環境)
Panasonic CF-RZ4
Windows 8.1 Pro
Anaconda 4.4.0
Python 3.5
Chainer 2.0
OpenCV3
(1)写経したら、うまくいった。
from PIL import Image
import numpy as np
# PILでcat.jpgを開いてグレースケール画像に変換し、NumPy配列に変換
im = np.array(Image.open('cat.jpg’).convert('L’))
# NumPy配列のshapeと、要素のデータ型を表示
print(im.shape, im.dtype)
# グレースケール化した画像のNumPy配列に変換したものを表示
print(im)
# 上記NumPy配列をテキストで保存
np.savetxt('im_ndarray.txt’, im)
im_ndarray.txt の中身。
元画像のjpgファイルは50KB。これをNumPy配列に変換して、テキストで保存すると、約6.6MB。
from PIL import Image
import numpy as np
# 上記で保存したNumPy配列を読み出す
b = np.loadtxt('im_ndarray.txt’)
print(b)
ここまでかなりかかった。
次こそ、以下のサイトの写経をしたい。
chainerのデータセットの作り方 LinearやCNN
tommyfms2
2017年10月07日に更新
https://qiita.com/tommyfms2/items/c3fa0cb258c17468cb30
ディスカッション
コメント一覧
まだ、コメントがありません