PNG图像是二进制文件,通常以ASCII或十六进制表示,要将字节数组转换为十进制表示,只需使用Python的内置函数即可。
import io
import matplotlib.pyplot as plt
import numpy as np
space = np.random.rand(5,5,5) > 0.5
rgb_input = np.random.rand(5,5,5,3)
fig = plt.figure(figsize=(16,16))
ax = fig.add_subplot(projection='3d')
ax.voxels(space, facecolors = rgb_input)
plt.axis('off')
fig.patch.set_alpha(0.25)
ax.patch.set_alpha(0.25)
buf = io.BytesIO()
plt.savefig(buf, format = 'png')
buf.seek(0)
data = buf.read()
decimal_values = [byte for byte in data]
print(decimal_values)