首页 > 编程问答 >缺少 libmmal.so 和 picamera 库

缺少 libmmal.so 和 picamera 库

时间:2024-07-22 11:19:30浏览次数:9  
标签:python

使用 pip 安装 picamera 库后,每当我导入该库时,我都会收到此错误:

OSError: libmmal.so: cannot open shared object file: No such file or directory

我正在运行 ubuntu 14.04,使用 python 2.7.6。

当我尝试搜索这个难以捉摸的 libmmal.so 时:|| |两者都是我的树莓派的备份,因此无关紧要。

$ sudo find / -name libmmal.so
/root/mounts/backups/root/opt/vc/lib/libmmal.so
/root/mounts/root-backup/opt/vc/lib/libmmal.so

Both of which are backups of my raspberry pi, and are therefore irrelevant.


在 Ubuntu 14.04 上收到 libmmal.so 错误,因为 Picamera 库专为 Raspberry Pi 设计 ,它依赖于该设备上可用的特定硬件和软件组件。 libmmal.so 库是 Raspberry Pi 相机模块的底层 MMAL(多媒体抽象层)API 的一部分。

由于 Ubuntu 14.04 系统没有 Raspberry Pi 硬件和相关库,因此无法直接在其上运行 Picamera。

如果想在 Ubuntu 14.04 上使用 Python 进行相机访问,请考虑使用以下替代方案:

  • OpenCV (cv2): 一个流行的计算机视觉库,提供广泛的图像和视频处理功能,包括相机访问。

bash sudo apt-get install python-opencv

```python import cv2

# 使用设备索引 0 初始化相机 camera = cv2.VideoCapture(0)

# 检查相机是否已打开 if not camera.isOpened(): raise IOError("无法打开网络摄像头")

# 从相机捕获帧 ret, frame = camera.read()

# 显示捕获的帧 cv2.imshow('Camera Feed', frame) cv2.waitKey(0)

# 释放相机并销毁所有窗口 camera.release() cv2.destroyAllWindows() ```

  • SimpleCV: OpenCV 的更高级包装器,旨在简化常见计算机视觉任务。

bash sudo apt-get install python-simplecv

```python from SimpleCV import Camera

# 初始化相机 cam = Camera()

# 显示来自相机的实时流 cam.live() ```

请记住,可能需要安装其他依赖项,并且这些替代方案的 API 与 Picamera 不同。需要参考其各自的文档以获取用法说明。

标签:python
From: 27777547

相关文章

  • python中datetime模块
    datetime模块可以更方便的显示日期,并对日期进行计算。datetime模块中常用的类及其功能描述如下:datetime.datetime------>表示日期时间的类(常用)datetime.timedelta------>表示时间间隔的类(常用)datetime.date------>表示日期的类datetime.time------>表示时间的类datetime.......
  • Python - requests
    前言:介绍:安装及验证:使用:连续接口请求:传参方式: 前言:当你上班无聊的时候,你做什么,说实话有人让我写个requests的教程,教程我觉得网上已经有很多教程了,也很全面,我还是不要献丑了介绍:哎,我认为就是一个接口请求的仓库,不过requests属于第三方库,......
  • Python学习计划——2.4列表推导式(List Comprehensions)
    列表推导式是Python的一种简洁且强大的语法,用于生成新的列表。它可以用更少的代码、更清晰的方式来创建列表,特别是在处理简单的循环和条件操作时。1.基本语法列表推导式的基本语法如下:[expressionforiteminiterable]expression:表达式,计算结果用于生成列表的元素。ite......
  • Python学习计划——2.3常用内置函数(len, max, min, sum, etc.)
    Python提供了许多内置函数,用于简化对数据结构的操作。以下是一些常用的内置函数及其详细说明。1.len()len()函数用于返回对象(如列表、元组、字符串、字典等)的长度(元素个数)。示例:#列表fruits=["apple","banana","cherry"]print(len(fruits))#输出:3#元组c......
  • 哪个 Python 框架可以在 Google Collab 中显示和更改图像?
    我希望能够在使用GoogleCollab时为RL绘制高fps的位图。我现在可以使用OpenCV绘制图像cv2_imshowgoogle替换cv2.imshow但是,它无法替换现有图像,它下面绘制了新的我能够在替换imshow函数中使用一些JavaScript来修复它。但刷新率约为......
  • VSCode 自动建议 python 导入而不依赖 Intellisense
    我正在使用Transformer中的AutoModel之类的对象,并且经常遇到自动导入建议无法找到的对象。我总是希望VSCode建议“从Transformer中执行”,而不是费心寻找它找不到的原因每当看到未定义的“AutoModel”时,都会导入AutoModel”,因此无需扫描任何python导入目录。这......
  • 如何使用Python计算位移自相关函数?
    我正在使用python来分析粒子的异常扩散。我已经得到了粒子轨迹的位移,我想计算并绘制位移自相关与滞后时间t的关系。我认为可能存在使用t和位移(如deltar)的自相关函数的一般函数,但我不能没找到。我可以得到函数或代码吗?可以使用numpy和matplotlib库在Python......
  • 一天一点点,第四天Python基础
    第一天:一天一点点。Python基础-CSDN博客第二天:一天一点点,接上章Python基础-CSDN博客第三天:一天一点点,第三天Python基础(循环语句)-CSDN博客推导式推导式是一种独特的数据处理方式,可以从一个数据序列构建另一个新的数据序列的结构体。推导式是一种强大且简洁的语法,适用于生......
  • Python - for循环不使用正则表达式附加数组
    以下代码从URL获取版本号,然后对于每个版本号,转到该版本号的页面并使用文件名的特定模式填充数组。生成的数组应包含每个版本号的文件名列表,但它似乎只包含早期版本(2.6)。使用print语句,我可以看到代码的工作原理是它获取sha256sums.asc文件-所有这些文件,所有版本。我猜......
  • 使用 callable_iterator (re.finditer) 导致 Python 冻结
    我有一个为文本的每一行调用的函数。deftokenize_line(line:str,cmd=''):matches=re.finditer(Patterns.SUPPORTED_TOKENS,line)tokens_found,not_found,start_idx=[],[],0print(matches)formatchinmatches:pass#Rest......