gpt4 book ai didi

python - 在 Python 中将 3 个单独的 numpy 数组组合为 RGB 图像

转载 作者:IT老高 更新时间:2023-10-28 21:46:16 25 4
gpt4 key购买 nike

所以我有一组数据,我可以将其转换为 R、G、B 波段的单独 numpy 数组。现在我需要将它们组合起来形成一个 RGB 图像。

我尝试使用“图像”来完成这项工作,但它需要归因于“模式”。

我试着做一个把戏。我会使用 Image.fromarray() 将数组转换为图像,但是当 Image.merge 需要“L”模式图像进行合并时,默认情况下它会达到“F”模式。如果我首先将 fromarray() 中的数组属性声明为“L”,那么所有的 R G B 图像都会失真。

但是,如果我保存图像然后打开它们然后合并,它工作正常。 Image 以“L”模式读取图像。

现在我有两个问题。

首先,我不认为这是一种优雅的工作方式。所以如果有人知道更好的方法,请告诉

其次,Image.SAVE 无法正常工作。以下是我面临的错误:

In [7]: Image.SAVE(imagefile, 'JPEG')
----------------------------------------------------------------------------------

TypeError Traceback (most recent call last)

/media/New Volume/Documents/My own works/ISAC/SAMPLES/<ipython console> in <module>()

TypeError: 'dict' object is not callable

请提出解决方案。

请注意,图像大约是 4000x4000 大小的数组。

最佳答案

rgb = np.dstack((r,g,b))  # stacks 3 h x w arrays -> h x w x 3

还要将 float 0 .. 1 转换为 uint8 s,

rgb_uint8 = (np.dstack((r,g,b)) * 255.999) .astype(np.uint8)  # right, Janna, not 256

关于python - 在 Python 中将 3 个单独的 numpy 数组组合为 RGB 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10443295/

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