我通过 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')
添加回答
举报
0/150
提交
取消