我可以将PIL图像数组保存到Qt中吗?

2024-04-20 14:33:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我想保存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()

Tags: test图像imageimportdatapilnpopen
1条回答
网友
1楼 · 发布于 2024-04-20 14:33:39

您可以使用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

相关问题 更多 >