Python-将具有相同维度的多个2D数组合并到一个2D数组中

Python-将具有相同维度的多个2D数组合并到一个2D数组中,python,arrays,python-3.x,numpy,opencv,Python,Arrays,Python 3.x,Numpy,Opencv,我有3个二维numpy浮点数组(R,G,B)具有相同的尺寸。我想将它合并到一个2d数组中,使新2d数组中的每个元素都是一个由3个浮点数组成的数组。以下是我的初始代码: image = cv2.imread('hurricane katrina 1.jpg', cv2.IMREAD_GRAYSCALE) a = 255 b = 2 * (np.pi/255) c = np.pi / 5 R = a * np.absolute(np.sin(b * image)) G = a * np.abs

我有3个二维numpy浮点数组(R,G,B)具有相同的尺寸。我想将它合并到一个2d数组中,使新2d数组中的每个元素都是一个由3个浮点数组成的数组。以下是我的初始代码:

image = cv2.imread('hurricane katrina 1.jpg', cv2.IMREAD_GRAYSCALE)

a = 255
b = 2 * (np.pi/255)
c = np.pi / 5


R = a * np.absolute(np.sin(b * image))
G = a * np.absolute(np.sin(b * image + c))
B = a * np.absolute(np.sin(b * image + 2 * c))
在Python中如何在不迭代数组的情况下实现它?谢谢

更新:

我想合并3个数组。比如说

R[0][0] = 3 
G[0][0] = 4 
B[0][0] = 6
然后合并数组将被删除

RGB[0][0] = (3,4,6)
这对于数组中的所有元素都是正确的

因此,最终的输出形状将是
(1000775,3)
np。连接((a,b,c),axis=查看您想要的,可能是1)

或 您也可以使用hstack…(它们都是一个东西…)



执行时,rgb_transform=np.concatenate(R,G,B)抛出错误。TypeError:只有整数标量数组才能转换为标量索引,
但它不应该抛出,因为我已经在括号中传递了它们

也许是为了解决这个问题 这样做
np.连接([a,b,c],axis=看你想要什么,可能是1)

参考

编辑

所问的问题与上面的有点不同,因此正确答案是
np.stack((r,g,b),2)
当最终输出是
(1000775,3)

执行时,rgb_transform=np.concatenate(r,g,b)抛出错误。TypeError:只有整数标量数组可以转换为标量索引如果缺少额外的括号,它们是必需的@Eliyaht要连接的第一个参数本身应该是要连接的数组序列…谢谢,我尝试了rgb_transform=np。连接([R,G,B],axis=0,out=None)并证明是有效的。但我的问题不是地址,我想合并,而不是合并。这就解决了问题。谢谢,您可以编辑您的答案,这样我就可以把它标记正确了。:)对于numpy和lists,Merge和concat实际上是一回事。。