2015-06-09 4 views
0

У меня есть 2D ndarry/массив с формой (4096,2048). Я пытаюсь составить список различных частей этого массива, все 40x40.Список 2D-массивов с numpy

Я пробовал присоединять и конкатенировать, но не повезло. Вот что у меня есть:

#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

Во-первых, что должен сделать второй слайд ... вы пытаетесь получить неперекрывающиеся фрагменты? Во-вторых, что вы получаете сейчас? – Foon

ответ

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], ... 
...] 
Смежные вопросы