如何保存解决这个问题:用图片

2024-06-20 15:06:51 发布

您现在位置:Python中文网/ 问答频道 /正文

当我想用保存图像时出错图片 代码如下:

from PIL import Image
generated = np.load('/home/jovyan/GROUP_SHARED/Kimi.Zhang/cutout.npy')
generated = generated[:25, :, :, :]
print('image_size', generated.shape)

j = Image.fromarray(generated)
for i in range(len(generated)):
    j.save('/home/jovyan/GROUP_SHARED/Kimi.Zhang/imagetest_' + str(i) +'.jpg')

“生成”包含25张图片,我想把它们一一保存到jpg。在

结果是:

图像大小(25,3,32,32)

^{pr2}$

有人知道怎么解决这个问题吗? 非常感谢!在

附加:

  KeyError                                  Traceback (most recent call last)
 /opt/conda/lib/python3.6/site-packages/PIL/Image.py in fromarray(obj, mode)
   2415             typekey = (1, 1) + shape[2:], arr['typestr']
-> 2416             mode, rawmode = _fromarray_typemap[typekey]
   2417         except KeyError:

KeyError: ((1, 1, 32), '<f4')

During handling of the above exception, another exception occurred:

TypeError                                 Traceback (most recent call last)
<ipython-input-47-1316bb4844f6> in <module>()
      7 #j = Image.fromarray(generated)
      8 for i in range(len(generated)):
----> 9     j = Image.fromarray(generated[i])
     10     j.save('/home/jovyan/GROUP_SHARED/Kimi.Zhang/imagetest_' + str(i) 
+ '.jpg')
     11 

/opt/conda/lib/python3.6/site-packages/PIL/Image.py in fromarray(obj, mode)
   2417         except KeyError:
   2418             # print(typekey)
-> 2419             raise TypeError("Cannot handle this data type")
   2420     else:
   2421         rawmode = mode

 TypeError: Cannot handle this data type

Tags: inimagehomepilmodegroupgeneratedshared
2条回答

假设generated中的数据有效。在

  • 迭代第一个维度,跟踪索引
  • 确保正确的数据类型
  • 创建图像
  • 保存图像

...
prefix = '\my\path\prefix'
ext = 'jpg'
for suffix, data in enumerate(generated):
    print(data.shape)
    data.dtype = np.uint8
    im = Image.fromarray(data, mode = 'RGB')
    print(f'{prefix}_{suffix}.{ext}')
    im.save(f'{prefix}_{suffix}.{ext}', 'JPEG')

试试这个,看看能不能用。我只不过是把你的一句台词放到for循环里。在

for i in range(len(generated)):
    j = Image.fromarray(generated[i])
    j.save('/home/jovyan/GROUP_SHARED/Kimi.Zhang/imagetest_' + str(i) +'.jpg')

相关问题 更多 >