2017-02-27 88 views
0
k = 1 
for k in range(1,21): 
    img = caffe.io.load_image(imgpath + str(k) + '.png') 
    result = caffe.io.load_image(imgpath + str(k) + '.png') 
    patch_dim = 33 
    h = (patch_dim - 1)/2 
    for i in range(patch_dim/2, img.shape[0] - patch_dim/2): 
     for j in range(patch_dim/2, img.shape[1] - patch_dim/2): 
      net.blobs['data'].data[...] = transformer.preprocess('data', img[i-h:i+h+1, j-h:j+h+1]) 
      out = net.forward() 
      if out['prob'][0][1] >= 0.8: 
       result[i][j][0] = 1 
    result.save(resultpath + str(k) + ".png") 
    k = k + 1 

这里IMG加载是code.I加载图像使用caffe.io.load_img,想处理后,将其保存,但有一个错误:如何节省caffe.io.load_image

AttributeError: 'numpy.ndarray' object has no attribute 'save' 

如何保存它?

+0

将'result'转换为'uint8',然后使用'PIL'保存它。 – Shai

回答

1

您可以使用PIL来代替保存图像。我不认为caffe有任何公开的方法来保存图像。

编辑 - 是的,there's no功能保存图像。

from PIL import Image 
img = Image.fromarray(result.astype('uint8')) # convert image to uint8 
img.save(path+'.png') 
+0

我试过,但图像似乎无法处理该数据类型。我在我的问题中粘贴错误。 – StalkerMuse

+0

@StalkerMuse你试过把它转换成uint8吗? – hashcode55

+1

非常感谢,但结果必须* 255 – StalkerMuse