当前位置: 首页 > 面试题库 >

在Python中将3个独立的numpy数组合并为RGB图像

龚奕
2023-03-14
问题内容

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

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

我试图做个把戏。我将使用Image.fromarray()将数组带到图像,但是当Image.merge要求合并“ L”模式图像时,默认情况下它会达到“
F”模式。如果我首先将fromarray()中array的属性声明为’L’,则所有RGB图像都会失真。

但是,如果我保存图像然后打开它们然后合并,则效果很好。图像以“ 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

还要将浮点数0 .. 1转换为uint8 s,

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


 类似资料:
  • 问题内容: 我有一个RGB图像。我想将其转换为numpy数组。我做了以下 它创建一个没有形状的数组。我假设它是一个iplimage对象。 问题答案: 您可以使用较新的OpenCV python接口(如果我没记错的话,自Ope​​nCV 2.2起就可以使用)。它本机使用numpy数组: 结果:

  • 问题内容: 这是这里提出的问题的扩展(在下面引用) 我有一个矩阵(准确地说是2d numpy ndarray): 我想根据另一个数组中的滚动值独立滚动A的每一行: 也就是说,我要这样做: 有办法有效地做到这一点吗?也许使用花哨的索引技巧? 可接受的解决方案是: 我基本上想做同样的事情,除了当索引被滚动“粘贴”到行的末尾时,我希望用NaN填充行的另一侧,而不是将值移到“前”定期排成一行。 也许以某种

  • 问题内容: 我有一个Numpy数组类型的矩阵。如何将其作为映像写入磁盘?任何格式都可以使用(png,jpeg,bmp …)。一个重要的约束是不存在PIL。 问题答案: 你可以使用PyPNG。这是一个纯Python(无依赖性)开源PNG编码器/解码器,它支持将NumPy数组写为图像。

  • 问题内容: 我见过类似的问题,但没有一个提供我所要的答案,因此,如果这被认为是重复的,我在此致歉。我正在尝试将数组{1,2,3}和{4,5,6}合并为{1,2,3,4,5,6}。我做错了什么?我是java的新手。抱歉,问题很愚蠢。 问题答案: 代替 您需要调用merge方法,并将结果分配给数组,例如: 您的for循环也应该是:

  • 本文向大家介绍在Python中将2d numpy数组展平为1d数组,包括了在Python中将2d numpy数组展平为1d数组的使用技巧和注意事项,需要的朋友参考一下 2d numpy数组是数组的数组。在本文中,我们将看到如何展平它以使元素成为一维数组。 与扁平化 numpy中的flatten函数是将2d数组转换为1D数组的直接方法。 示例 输出结果 运行上面的代码给我们以下结果- 带旅行 还有一

  • 问题内容: 好吧,我想将PIL图像对象来回转换为numpy数组,因此我可以实现比对象所允许的更快的逐像素转换。我想出了如何通过以下方式将像素信息放置在有用的3D numpy数组中: 但是,在完成所有出色的转换之后,我似乎无法弄清楚如何将其重新加载到PIL对象中。我知道该方法,但似乎无法使其正常工作。 问题答案: 你并不是在说行为不正确。我假设你在做 这是因为需要一个元组序列,并且你要给它一个num