繁体   English   中英

制作 ndarray 的 numpy 数组的正确方法

[英]Proper way to make numpy array of ndarrays

下面的代码实现了我想要完成的任务,但是使用了 python 列表,可能效率很低。 请让我知道是否有办法完全使用 Numpy 执行以下操作:

def makeImageArray(count):
    l = []
    for i in range (count):
        l.append(image)
    res = np.array(l)
    return res

其中 image 是形状为 (1200,1200,3) 的 numpy 数组。

太感谢了!

可以使用numpy.stack()参考

如果您有多个图像要添加到新数组中,您可以使用它

import numpy as np

image_0 = np.random.rand(1200,1200,3)
image_1 = np.random.rand(1200,1200,3)

stack = np.stack((image_0, image_1))
stack.shape

>>> (2, 1200, 1200, 3)

如果你只想多次堆叠一个数组

编辑

如果要堆叠相同的图像:

image = np.random.rand(1200,1200,3)
count = 10
stack = np.stack([image for _ in range(count)])
stack.shape
>>> (10, 1200, 1200, 3)
arr = np.array([image for x in range(count)])
return arr

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM