带有numpy的2D数组列表

时间:2015-06-09 17:04:05

标签: python arrays numpy 2d

我有一个2D ndarry /数组形状(4096,2048)。我试图列出这个数组的不同部分,这些部分都是40x40。

我尝试过追加和连接,但没有运气。这就是我所拥有的:

#img = the 4096x2048 array. 
# I want to store 100 different 40x40 slices in cropped. The first #slice should start at 186, 290

cropped = img[186:226, 290:330]
for i in range(0,100):
    cropped_image = img[a: a+40, b:b+40]
    cropped.append(cropped,cropped_image)
    a += 1
    b += 1
return cropped

1 个答案:

答案 0 :(得分:0)

您可以使用列表推导来制作这些子数组的列表

import itertools
cropped = [img[i:i+40, j:j+40] for i,j in itertools.product(range(0, 4096, 40), range(0, 2048, 40)]

这将为您提供

列表
[img[0:40, 0:40], img[40:80, 0:40], ...
 img[0:40, 40:80], img[40:80, 40:80], ...
 ...]
相关问题