为了账号安全,请及时绑定邮箱和手机立即绑定

如何保存通过camera.capture_continuous读取的图像并将其保存到文件中

如何保存通过camera.capture_continuous读取的图像并将其保存到文件中

不负相思意 2022-05-11 16:26:33
我通过 camera.capture_continuous(stream,format='rgb', use_video_port=True, resize=(width, height) 读取 raspi 相机,将其馈送到珊瑚边缘 USB 加速器。这非常有效。但现在我想保存某些图像(取决于分析)到硬盘。我是 python 初学者... file.write 没有用。我假设是因为我得到了某种原始 rgb 图像数据而不是 jpg。我希望能够将图像存储为 jpg。谁能建议使用什么功能?更新我尝试了以下import argparseimport osimport ioimport timefrom collections import dequeimport numpy as npimport picamerafrom PIL import Imageimport edgetpu.classification.enginedef main():  stream = io.BytesIO()  engine = edgetpu.classification.engine.ClassificationEngine(args.model)  for foo in camera.capture_continuous(stream,                                       format='rgb',                                       use_video_port=True,                                       resize=(width, height)):      stream.truncate()      stream.seek(0)      input = np.frombuffer(stream.getvalue(), dtype=np.uint8)      results = engine.ClassifyWithInputTensor(input, top_k=3)      ...      image = Image.fromarray(input.astype('uint8'), 'RGB')      image.save("imgs/image_" + str(i) + ".jpg")但只得到一个错误:Traceback (most recent call last):  File "mio.py", line 85, in <module>    main()  File "mio.py", line 75, in main    image = Image.fromarray(input.astype('uint8'), 'RGB')  File "/usr/lib/python3/dist-packages/PIL/Image.py", line 2529, in fromarray    size = shape[1], shape[0]IndexError: tuple index out of range我究竟做错了什么?
查看完整描述

2 回答

?
偶然的你

TA贡献1841条经验 获得超3个赞

您可以使用Pillow库将图像保存到磁盘。就像是:


pip install Pillow numpy


import numpy as np

from PIL import Image

pixels = np.array([[[255, 0, 0], [0, 255, 0]], [[0, 0, 255], [255, 255, 0]]])

image = Image.fromarray(pixels.astype('uint8'), 'RGB')

image.save('out.jpg')


查看完整回答
反对 回复 2022-05-11
?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

用以下行解决了它

image = Image.frombuffer('RGB', (width,height), streamValue)


查看完整回答
反对 回复 2022-05-11
  • 2 回答
  • 0 关注
  • 229 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信