PiCamera在RGBArray中存储图像

问题描述 投票:1回答:1

嗨,我正在尝试使用PiCamera模块进行录制期间捕获低分辨率图像。但是,它在camera.capture行上崩溃,出现以下错误

文件“ /usr/lib/python3/dist-packages/picamera/array.py”,第238行,同花顺self.array = bytes_to_rgb(self.getvalue(),self.size或self.camera.resolution)文件“ /usr/lib/python3/dist-packages/picamera/array.py”,第127行,在bytes_to_rgb'分辨率%dx%d的缓冲区长度不正确%(宽度,高度))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(相机)需要更改为PiRGBArray(相机,大小= 128,80)

python pi
1个回答
0
投票

PiRGBArray(camera)需要更改为PiRGBArray(camera,size = 128,80)

© www.soinside.com 2019 - 2024. All rights reserved.