2017-06-02 42 views
-1

編輯:我已發現一種解決方法,這是將其分配給一個數組,然後使用該陣列,以創建一個numpy的數組: 一個= []如何通過灰度圖像來替換空numpy的數組值

for i in range(0,width/image_size): 
    for j in range(0,height/image_size): 
     roi = img[image_size*j:image_size*(j+1),image_size*i:image_size*(i+1)] 
     a.append(roi) 

arr = np.asarray(a) #HERE 

原問題:

我已經創建了一個空的numpy數組形狀(180,28,28),它應該可以容納180個灰度圖像大小爲28x28的圖像。

height, width = img.shape[:2]  
arr = np.empty(((height/image_size)*(width/image_size), 28, 28)) #arr.shape = (180,28,28) 

我有多個圖像區域的大小28x28,我想填充到arr

for i in range(0,width/image_size): 
    for j in range(0,height/image_size): 
     roi = img[image_size*j:image_size*(j+1),image_size*i:image_size*(i+1)] 
     #HERE - how can I set the value in arr to be an (28x28) roi 

謝謝。

+2

如果您找到了解決方案,請將其作爲答案發布。 – lukess

+0

@lukess道歉。起初,我通過添加我的答案來編輯問題,但現在我已經發布了下面的答案。 – matchifang

回答

1

我已經找到了解決辦法,這是其分配到一個數組,然後使用該數組來創建一個numpy的數組:

a = [] 

for i in range(0,width/image_size): 
    for j in range(0,height/image_size): 
     roi = img[image_size*j:image_size*(j+1),image_size*i:image_size*(i+1)] 
     a.append(roi) 

arr = np.asarray(a) #assign it to numpy array here 

不過,我不知道是否有一個更好的,或者更優雅的方式來做到這一點。