2017-06-02 40 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 

不过,我不知道是否有一个更好的,或者更优雅的方式来做到这一点。