【问题标题】:Failed to enable connection: out of resource error PiCamera无法启用连接:资源不足错误 PiCamera
【发布时间】:2018-09-16 09:30:07
【问题描述】:

我正在创建使用 PiCam 的论文设备。我的问题是,每次我在拍摄图像后使用相机时,当我单击 GUI 上的按钮再次启动相机时,它就无法再次使用并显示错误:

picamera.exc.PiCameraMMALError:无法启用连接:资源不足

如何在拍摄图像后以某种方式停止相机,同时停止使用 picamera 的资源?

这是我的相机代码:

def startcam():
        camera = PiCamera()
        GPIO.output(16, True)
        filename = datetime.datetime.now().strftime("%Y-%m-%d-%H.%M.%S.jpg")
        time.sleep(2)
        camera.start_preview()
        sleep(1)
        GPIO.output(16, False)
        GPIO.output(13, True)
        camera.capture(filename)
        GPIO.output(13, False)
        sleep(1)
        camera.stop_preview()
        webbrowser.open(filename)

GPIO 代码适用于我的 LED 闪光灯和红外 LED,因为我使用的是 NOIR 相机。

谢谢。

【问题讨论】:

    标签: python python-3.5 raspberry-pi3


    【解决方案1】:

    如果要捕获许多图像,则应在函数外部全局声明相机:

    camera=Picamera()
    def startcam():
       GPIO.output(16, True)
       ...
    

    【讨论】:

      【解决方案2】:

      我写了一个小程序来拍摄一系列照片。它在 IDLE 中运行良好,但从命令行出现了完全相同的错误,即资源不足。通过在程序中的 except KeyboardInterrupt: 之后添加camera.close() 解决了该问题,即Ctrl+C(在Python shell 中)。通常在需要跳出循环时使用。

      【讨论】:

        猜你喜欢
        • 2018-09-10
        • 1970-01-01
        • 2021-01-18
        • 2023-03-22
        • 2016-07-17
        • 2016-05-31
        • 1970-01-01
        • 1970-01-01
        • 2020-01-17
        相关资源
        最近更新 更多