Python 没有从 Raspberry Pi 相机以最高分辨率拍照

标签 python camera raspberry-pi

我有一个 Raspberry Pi Camera v2.1 版本,能够拍摄 3280x2464 分辨率的照片。

我已经用 raspistill 命令进行了测试,结果似乎很好:

raspistill -o 8mp.png -w 3280 -h 2464

返回信息:

8mp.png JPEG 3280x2464 3280x2464+0+0 8-bit sRGB 4.524MB 0.010u 0:00.010

但是,当我使用Python代码拍照时,它会拒绝。这是我正在使用的代码:

#!/usr/bin/python
import picamera

camera = picamera.PiCamera()
camera.resolution = (3280,2464)
camera.capture("test.png")
camera.close()

这是错误:

mmal: mmal_vc_port_enable: failed to enable port vc.ril.image_encode:out:0(PNG ): ENOSPC
mmal: mmal_port_enable: failed to enable port vc.ril.image_encode:out:0(PNG )(0x700090) (ENOSPC)
Traceback (most recent call last):
  File "pic.py", line 6, in <module>
    camera.capture("test.png")
  File "/usr/local/lib/python2.7/dist-packages/picamera/camera.py", line 1383, in capture
    encoder.start(output)
  File "/usr/local/lib/python2.7/dist-packages/picamera/encoders.py", line 1024, in start
    super(PiCookedOneImageEncoder, self).start(output)
  File "/usr/local/lib/python2.7/dist-packages/picamera/encoders.py", line 394, in start
    self.output_port.enable(self._callback)
  File "/usr/local/lib/python2.7/dist-packages/picamera/mmalobj.py", line 813, in enable
    prefix="Unable to enable port %s" % self.name)
  File "/usr/local/lib/python2.7/dist-packages/picamera/exc.py", line 157, in mmal_check
    raise PiCameraMMALError(status, prefix)
picamera.exc.PiCameraMMALError: Unable to enable port vc.ril.image_encode:out:0(PNG ): Out of resources (other than memory)

我注意到使用 .jpg 而不是 .png 会起作用。这对我来说似乎有点奇怪,因为文档说它应该有效,并且 raspistill 命令也适用于 .png 上的此分辨率。

有什么想法吗?

最佳答案

我遇到了同样的问题。我能够通过将 Pi 的“Memory Split”设置调整为 256MB 来解决它。这会改变 GPU 可用的内存量。

您可以通过运行 sudo raspi-config 访问此设置。 “内存拆分”在“高级选项”下。

关于Python 没有从 Raspberry Pi 相机以最高分辨率拍照,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39251815/

相关文章:

python - Pandas :根据列中的条件测试替换记录

python - 如何比较 Pandas 中的列并使用是或否创建新列

python - 在 Jupyter Notebook 之外显示动画

iphone - 使用ARKit的ARSCNView时,可以使用iPhone的前置摄像头吗?

Bash 脚本在系统启动时未按预期执行

raspberry-pi - 如何检测并连接到 Raspberry Pi 3 (Raspbian) 上的隐藏 SSID?

python - pyusb:功能一次运行良好,第二次失败

python - 接受 1 个位置参数(给定 2 个)

c++ - 需要帮助在 OpenGL 中移动相机

java - Android:没有预览就拍照:java.lang.RuntimeException:takePicture 失败