小编Cri*_*iru的帖子

如何在 Python 中显示表示为字节数组的图像而不将其写入文件?

我已成功通过套接字发送图像,并且在接收端,我拥有与发送的图像文件完全相同的原始字节。这意味着,如果我将这些字节二进制写入文件,我将获得与发送的文件相同的文件。我尝试在不先保存的情况下显示来自 Python 的图像,但我在这样做时遇到了麻烦。如果我理解正确,matplotlib.imread()则需要文件的路径,然后将该文件解码为多个矩阵。做这样的事情效果很好:

import matplotlib.pyplot as plt
import matplotlib.image as mpimg

# data is the image data that was received from the socket

file = open("d:\\image.png", 'wb')
file.write(data)
file.close()

img = mpimg.imread("d:\\image.png")
plt.imshow(img)
plt.show()
Run Code Online (Sandbox Code Playgroud)

显然我应该为此使用临时文件,但我编写它只是为了示例。如果我已经有了这些字节,有什么方法可以在不事先调用的情况下调用imshow()和方法吗?show()imread()

python matplotlib temporary-files

3
推荐指数
1
解决办法
9765
查看次数

标签 统计

matplotlib ×1

python ×1

temporary-files ×1