我要保存PIL图像。
我试着用泡菜做,我能做。
例如,我想通过QtCore.QDataStream
保存它。
我可以吗?
这是原始代码:
from PIL import Image
import numpy as np
import pickle
filename = 'Any_Image.png'
im = Image.open(filename)
data = np.array(im)
f = open("test_file.dat","wb")
print(type(data))
dumps = pickle.dump(data,f)
f = open("test_file.dat","rb")
tumps = pickle.load(f)
array = Image.fromarray(tumps)
array.show()
答案 0 :(得分:1)
您可以使用QDataStream做类似的事情,只是需要将图像numpy 数组转换为字节
这是一个简单的实现:
from PIL import Image
import numpy as np
from PyQt5 import QtCore
filename = 'Goku.jpg'
im = Image.open(filename)
data = np.array(im)
file_ = QtCore.QFile("test_file.dat")
file_.open(QtCore.QIODevice.WriteOnly)
qdatastream = QtCore.QDataStream(file_)
bytedata = QtCore.QByteArray(data.tobytes())
print(qdatastream)
qdatastream << bytedata