OSError:libmmal.so:无法打开共享对象文件:尝试在 Raspbian 上运行 picamera 时没有此类文件或目录

Har*_*iki 7 raspberry-pi raspbian picamera

我正在尝试使用 Raspberry pi B+ 中的 picamera 模块打开相机,其中安装了 Raspbian 64 位操作系统。我收到此错误:

Traceback (most recent call last):
File "/home/pi/Documents/hydroponics/scripts/picamera_test.py", line 1, in <module>
    from picamera import PiCamera
  File "/home/pi/.local/lib/python3.9/site-packages/picamera/__init__.py", line 72, in <module>
    from picamera.exc import (
  File "/home/pi/.local/lib/python3.9/site-packages/picamera/exc.py", line 41, in <module>
    import picamera.mmal as mmal
  File "/home/pi/.local/lib/python3.9/site-packages/picamera/mmal.py", line 49, in <module>
    _lib = ct.CDLL('libmmal.so')
  File "/usr/lib/python3.9/ctypes/__init__.py", line 374, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: libmmal.so: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

相机已启用(我尝试使用 opencv 捕获相机并且它有效)。我sudo rpi-update也尝试过,它说我的固件已经是最新的。尝试过sudo apt updatesudo apt upgrade但都没有解决上述问题。我sudo ldconfig -p | grep mmal也尝试过,它输出:

 libmmal_vc_client.so (libc6) => /opt/vc/lib/libmmal_vc_client.so
 libmmal_util.so (libc6) => /opt/vc/lib/libmmal_util.so
 libmmal_core.so (libc6) => /opt/vc/lib/libmmal_core.so
 libmmal_components.so (libc6) => /opt/vc/lib/libmmal_components.so
 libmmal.so (libc6) => /opt/vc/lib/libmmal.so
Run Code Online (Sandbox Code Playgroud)

关于如何解决此错误有什么建议吗?谢谢!

Har*_*iki 9

我刚刚发现 Raspbian 64 位操作系统仍然不支持 picamera。

https://github.com/raspberrypi/firmware/issues/1558#issuecomment-983483179

所以我们可能可以使用 libcamera (还没尝试过)或 opencv (尝试过并且工作正常)