gpt4 book ai didi

python - 如何将 2d numpy 数组保存并显示为 RGB 伪彩色图像?

转载 作者:太空宇宙 更新时间:2023-11-03 15:03:13 26 4
gpt4 key购买 nike

我有一个大尺寸的二维 numpy 数组 (size = (2000, 2000)),只有五个可能的值 1.0, 2.0, 3.0, 4.0 5.0。我想将此数组保存并显示为 RGB 颜色格式的图像,这里数组的每个唯一值应由不同的颜色表示。请帮助我是 python 初学者。

最佳答案

您可以使用 PIL.Image 来做到这一点,但首先要转换您的数组。

例如,您可以这样说:

  1. 1.0 应为红色,表示为 (255,0,0)
  2. 2.0 应为绿色 -> (0,255,0)
  3. 3.0 应为蓝色 -> (0,0,255)
  4. 4.0 应为黑色 -> (0,0,0)
  5. 5.0 应为白色 -> (255,255,255)

您当然可以将这些值更改为您选择的任何颜色,但这仅用于演示。话虽这么说,您的二维数组还需要“展平”为一维,以便 PIL.Image 接受它作为数据。

from PIL import Image
import numpy as np
your_2d_array = np.something() # Replace this line, obviously
img_array = []
for x in your_2d_array.reshape(2000*2000):
if x == 1.0:
img_array.append((255,0,0)) # RED
elif x == 2.0:
img_array.append((0,255,0)) # GREEN
elif x == 3.0:
img_array.append((0,0,255)) # BLUE
elif x == 4.0:
img_array.append((0,0,0)) # BLACK
elif x == 5.0:
img_array.append((255,255,255)) # WHITE

img = Image.new('RGB',(2000,2000))
img.putdata(img_array)
img.save('somefile.png')

虽然这应该有效,但我认为有更有效的方法来做到这一点,我不知道,所以如果有人用更好的例子编辑这个答案,我会很高兴。但如果它是一个小型应用程序,并且最高效率并不困扰您,那么它就是这样。

关于python - 如何将 2d numpy 数组保存并显示为 RGB 伪彩色图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44890720/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com