- 直接numpy ndarrayへ
from PIL import Image import numpy as np filename = 'sample.jpg' img = np.array(Image.open(filename))
- バイナリデータとして読み込んだ後、numpy ndarrayに変換
from PIL import Image from io import BytesIO import numpy as np filename = 'sample.jpg' with open(filename, 'rb') as f: binary = f.read() img = np.array(Image.open(BytesIO(binary)))
- 直接mxnet NDArrayへ
from mxnet import image filename = 'sample.jpg' img = image.imread(filename)
- バイナリデータとして読み込んだ後、mxnet NDArrayに変換
from mxnet import image filename = 'sample.jpg' with open(filename, 'rb') as f: binary = f.read() img = image.imdecode(binary)
画像をバイナリーデータとして読み込むことでメモリの節約になる。
mxnet NDArrayはデータをマージするなどの処理がnumpy ndarrayより遅いらしいので、そういった事が必要な場合にはnumpy ndarrayを使用するのがよい。必要でない場合にはバイナリデータ→mxnet NDArrayの変更を行えばよい。