我有一个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
答案 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], ...
...]