PIL(pillow)で新しく作ったイメージだと、一部のメソッドが欠如する原因と、イメージ情報の永続化と復元の方法について
python
の画像処理系モジュールであるpillow
を使ってイメージから情報を取り出し、一旦pickle
に保存して、
再度取り出した後、そのイメージをもとのイメージのように復元したい
と考えています。保存とロードで同じものを取り出すところまではできたんですが、
再度そこから元と同じイメージを作り出すのに、new
メソッドを用いて、
それに読み込んだ情報を載せたいと思ったのですが、
new
で作ったImage
クラスは、fromarray
がないと言ってきます。
asarray
で作った情報を保存しているので、fromarray
出来るかなと思ったん
ですが、出来ませんでした。Image.new()
で作ったオブジェクトはImage
オブジェクトであり、Image
オブジェクトはfromarrayメソッドを持っていると公式には書いてあるのですが。
print(type(tumps))
<class 'numpy.ndarray'>
re_im.fromarray(tumps)
AttributeError: 'Image' object has no attribute 'fromarray'
これがサンプルコードです。
from PIL import Image
import numpy as np
filename = 'any.png'
import pickle
im = Image.open(filename)
data = np.asarray(im.getdata())
f = open("test_file.dat","wb")
dumps = pickle.dump(data,f)
f = open("test_file.dat","rb")
tumps = pickle.load(f)
re_im = Image.new(im.mode, im.size)
re_im.fromarray(tumps)
re_im.show()
python3.6.3
PIL.PILLOW_VERSION
Out[10]: '5.1.0'