所以我有一组数据,可以转换为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接口(如果我没记错的话,自OpenCV 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