从命令提示符运行脚本时,PiCamera 无法初始化为类成员

2024-04-20

在我的 Raspberry Pi 上,我遇到了有关使用 PiCamera 模块的奇怪行为。

当从 IDLE (F5) 或从命令提示符 ($python test.py) 启动时,以下代码可以顺利运行

import picamera

if __name__ == "__main__":
    camera=picamera.PiCamera()
    camera.close()

但是当我将相机对象放入类中时,代码仅在从 IDLE (F5) 启动时才会运行:

import picamera

class VF:
    def __init__(self):
        self.camera = picamera.PiCamera()

    def __del__(self):
        self.camera.close()


if __name__ == "__main__":
    myvf = VF()

当我从命令提示符启动上述代码时,收到以下错误消息:

mmal:mmal_vc_component_enable:未能启用组件:ENOSPC

回溯(最近一次调用):文件“test.py”,第 14 行,位于 myvf = VF()

文件“test.py”,第 6 行,位于initself.camera = picamera.PiCamera()

文件“/usr/lib/python2.7/dist-packages/picamera/camera.py”,行 379,在initcamera_num,self.STEREO_MODES [stereo_mode],stereo_decimate)

文件“/usr/lib/python2.7/dist-packages/picamera/camera.py”,行 505,在_init_camera中 prefix="无法启用相机组件")

文件“/usr/lib/python2.7/dist-packages/picamera/exc.py”,第 133 行, 在 mmal_check 中 引发 PiCameraMMALError(状态,前缀)

picamera.exc.PiCameraMMALError:无法启用相机组件: 资源不足(内存除外)

相机模块工作正常,我只是将代码精简到尽可能小的大小。有谁知道这个问题或类似的问题,并且可以提供解决方案? Python 版本为 2.7,Raspberry Rasbiab 系统完全是最新的。 提前致谢。


我在这个问题上挣扎了几个小时,并且不断收到“资源不足”错误。我终于发现在我的拍照功能中,我需要确保我是这样做的:



    camera = PiCamera()
    (...camera settings here...)
    camera.capture(myfileName)
    camera.close()
  

如果我不执行 close(),我每次都会收到该错误。 因此,请确保在“捕捉”之后立即调用camera.close()。它为我解决了问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从命令提示符运行脚本时,PiCamera 无法初始化为类成员 的相关文章

  • 具有少量父设备属性的 udev 规则

    我需要复杂且通用的udev规则来确定插入任何 USB 集线器的特定端口的 USB 设备 所以 我必须结合设备树不同层的父属性 我有这个 udevadm info query all name dev ttyUSB0 attribute wa
  • java.lang.RuntimeException:release()后调用的方法

    If i am 不使用 相机 release in 表面被破坏 then 无法从另一个 Activity 再次启动 CameraActivity 简而言之 得到不幸的是应用程序已停止 错误 即使不释放相机 但如果我确实点击了 主页 按钮 来
  • 通过 SSH 的 Pygame 不注册击键(Raspberry Pi 3)

    所以我得到了 raspi 3 和简单的 8x8 LED 矩阵 在玩了一些之后 我决定用 pygame 的事件制作一个简单的蛇游戏 显示在该矩阵上 我之前没有 pygame 的经验 除了 LED 矩阵之外 没有连接任何屏幕 显示器 所以最初的
  • Python sys.modules 包含尚未导入的模块

    我试图了解加载的模块与导入的模块之间的区别 如果有的话 我正在使用 Python 2 7 3 并且只是从命令行运行 Python 如果我执行 import sys sys modules 我得到一个列表 其中包括os 例如 文档说sys m
  • 如何在 Ionic 3 中调整图像大小而不降低质量和目标宽度和高度?

    我想减小相机 API 拍摄的图像的大小 但质量降低不好 最好的办法是降低分辨率 但我不想对所有图像使用目标宽度和高度 例如 我希望图像宽度为 1280 图像高度按其比例自动变化 但在 API 中我应该使用精确的宽度和高度 如何通过图像比例更
  • 使用一次递归调用实现递归

    给定一个函数如下 f n f n 1 f n 3 f n 4 f 0 1 f 1 2 f 2 3 f 3 4 我知道使用递归来实现它 并在一个函数内进行三个递归调用 但我想在函数内仅使用一次递归调用来完成此操作 怎样才能做到呢 要实现使用
  • 如何在Python中选择要写入(.csv)的列

    import csv f csv reader open lmt csv r open input file for reading Date Open Hihh mLow Close Volume zip f s plit it into
  • 更换壳牌管道[重复]

    这个问题在这里已经有答案了 在 subprocess 模块的 Python 2 7 文档中 我找到了以下片段 p1 Popen dmesg stdout PIPE p2 Popen grep hda stdin p1 stdout stdo
  • Python 导入非常慢 - Anaconda python 2.7

    我的 python import 语句变得非常慢 我使用 Anaconda 包在本地运行 python 2 7 导入模块后 我编写的代码运行得非常快 似乎只是导入需要很长时间 例如 我使用以下代码运行了一个 tester py 文件 imp
  • 在Python中如何获取字典的部分视图?

    是否有可能获得部分视图dict在Python中类似于pandasdf tail df head 说你有很长一段时间dict 而您只想检查某些元素 开头 结尾等 dict 就像是 dict head 3 To see the first 3
  • 树莓派的设备树驱动内核

    我想用设备树驱动的 Linux 内核启动树莓派 有什么特别的事情要做吗 谁能指出为树莓派设置基于设备树的内核启动需要什么 我可能需要有树莓派内核源代码 其中设备驱动程序应与设备树兼容 如果是这样 我在哪里可以找到 Raspberry Pi
  • 将 python2.7 与 Emacs 24.3 和 python-mode.el 一起使用

    我是 Emacs 新手 我正在尝试设置我的 python 环境 到目前为止 我已经了解到在 python 缓冲区中使用 python mode el C c C c将当前缓冲区的内容加载到交互式 python shell 中 显然使用了什么
  • 张量流服务错误:参数无效:JSON 对象:没有命名输入

    我正在尝试使用 Amazon Sagemaker 训练模型 并且希望使用 Tensorflow 服务来为其提供服务 为了实现这一目标 我将模型下载到 Tensorflow 服务 docker 并尝试从那里提供服务 Sagemaker 的训练
  • 如何通过 TLS 1.2 运行 django runserver

    我正在本地 Mac OS X 机器上测试 Stripe 订单 我正在实现这段代码 stripe api key settings STRIPE SECRET order stripe Order create currency usd em
  • 更改 Tk 标签小部件中单个单词的颜色

    我想更改 Tkinter 标签小部件中单个单词的字体颜色 我知道可以使用文本小部件来实现与我想要完成的类似的事情 例如使单词 YELLOW 显示为黄色 self text tag config tag yel fg clr yellow s
  • 在python中使用sftp从远程路径获取文件到本地目录

    我正在尝试将文件从远程路径获取到本地目录 当我执行代码时 我收到错误 如下所述 import paramiko import SSHLibrary from stat import S ISDIR server username passw
  • VideoCapture.read() 返回过去的图像

    我在跑python3 6 with openCV on the Raspberry pi OS is Raspbian 代码的大致结构如下 The image以时间间隔 3 5 分钟 捕获 被捕获image在函数中处理并返回度量 精度的种类
  • 在 Pandas 中使用正则表达式的多种模式

    我是Python编程的初学者 我正在探索正则表达式 我正在尝试从 描述 列中提取一个单词 数据库名称 我无法给出多个正则表达式模式 请参阅下面的描述和代码 描述 Summary AD1 Low free DATA space in data
  • Ubuntu 上的 Python 2.7

    我是 Python 新手 正在 Linux 机器 Ubuntu 10 10 上工作 它正在运行 python 2 6 但我想运行 2 7 因为它有我想使用的功能 有人敦促我不要安装 2 7 并将其设置为我的默认 python 我的问题是 如
  • Django 中所有应用程序的基本模板

    我有一个包含 2 个应用程序的项目 project blog templates index html polls templates index html project templates base html index html 现在

随机推荐