【发布时间】:2019-10-08 10:36:30
【问题描述】:
您好,我正在使用 PiCamera 模块录制期间尝试捕获低分辨率图像。但是它在 camera.capture 行上崩溃并给出以下错误
文件“/usr/lib/python3/dist-packages/picamera/array.py”,第 238 行, 齐平 self.array = bytes_to_rgb(self.getvalue(), self.size or self.camera.resolution) 文件 “/usr/lib/python3/dist-packages/picamera/array.py”,第 127 行,在 bytes_to_rgb '分辨率 %dx%d' % (width, height)) picamera.exc.PiCameraValueError 的缓冲区长度不正确:缓冲区长度不正确 分辨率 1280x726
这是我目前的代码:
from picamera import PiCamera
from picamera.array import PiRGBArray
import numpy as np
import time
camera = PiCamera()
resolution = (128,80)
camera.resolution = (1280, 726)
camera.start_preview()
time.sleep(2)
RGBArray = PiRGBArray(camera)
camera.capture(RGBArray, format='rgb',splitter_port=0,resize=resolution)
print("i crash on the line above")
如果我将相机分辨率设置为 camera.resolution = (128,80) 并从 camera.capture() 中删除“resize”参数,它可以正常工作,但我想以更高的分辨率录制。我似乎无法在任何地方找到解决方案。
已解决 PiRGBArray(camera) 需要改为 PiRGBArray(camera,size=128,80)
【问题讨论】:
-
请在您自己解决问题后将您的问题标记为已解决。您也可以简单地回答自己的问题并将其标记为已接受的答案,以帮助遇到相同问题的其他用户快速确定解决方案。