最近发布的 Raspberry Pi OS 映像,终于预装了Picamera2库的 beta 版本。它是旧 PiCamera 库的替代,也是未来树莓派摄像头的官方首选开发库。
从早期版本开始,PiCamera 就非常受用户欢迎,因为它提供了一种非常简单而开放的Raspberry Pi 摄像头调用方式,让大家远离了专有和闭源的摄像头API(比如Broadcom的)。
Picamera2 主要特点
1、支持命令行驱动,你可以将 Picamera2 的命令直接通过Python 解释器或 Python 脚本调用。
2、使用OpenGL加速硬件辅助渲染,或在X windows未运行时使用DRM/KMS进行高速渲染。
3、支持将现成的 Picamera2 组件嵌入到 Qt 应用程序中。
4、原生支持 numpy,使其与 OpenCV、TensorFlow 和其他 Python 库一起使用非常自然。
5、所有源代码都可以在Picamera2 GitHub 页面上获得,或者作为libcamera 项目的一部分。
6、支持所有官方树莓派相机,也支持一些第三方相机
还有一些功能,例如视频编码和录制(可自定义输出对象),同时录制音频和视频的能力。在摄像头图像上显示叠加层等等。
要了解更多信息,请查阅大量示例脚本和应用程序,或查阅我们的Picamera2 用户手册。
安装和升级
Picamera2 仅在最近的 Bullseye (新的树莓派系统代号)上受支持。
Buster 或更早的版本不支持它,Raspberry Pi OS Legacy 也不支持。所有这些用户都只能继续使用旧的 PiCamera 库。
在最新的 Bullseye 系统上已经安装了 Picamera2。
需要命令行安装的话可以输入:
sudo apt install -y python3-picamera2
树莓派操作系统
Raspberry Pi OS 用户会发现新的系统中, Picamera2 已经完整安装,包括 Qt 和 OpenGL。
Raspberry Pi OS Lite 默认随 Picamera2 一起安装,但没有 Qt 和 OpenGL。原因是用 Raspberry Pi OS Lite 的低配Pi 运行基于 X Windows 的应用程序或通过 X Windows 显示堆栈进行渲染会比较卡。
如果需要在Raspberry Pi OS Lite上使用 Qt 和 OpenGL,可以这么安装。
sudo apt install -y python3-pyqt5 python3-opengl
如果你用的是未安装 Picamera2 的较早版本的 Bullseye,又不用 Qt 和 OpenGL 的话,安装它的命令:
sudo apt install -y python3-picamera2 –-no-install-recommends
之前通过 pip 安装过 Picamera2 的用户
一些用户可能以前使用pip,那需要先卸载再安装。当然,你可以继续用pip的方式。
如何尝试 Picamera2?
有一些示例脚本很有帮助,你可以下载并运行它们:
git clone https://github.com/raspberrypi/picamera2.git
python picamera2/examples/preview.py
提示
如果遇到任何困难,请注意以下几点:
- Raspberry Pi 3 或更早版本设备的用户将需要重新启用 Glamour(如果他们以前没有这样做)才能使用任何 X Windows/OpenGL 预览功能。
- libcamera 在控制台窗口中可以非常“健谈”。如果这让你感到困扰,请在运行 Python 之前键入:
export LIBCAMERA_LOG_LEVELS=*:3
(或将其放入.bashrc
)。 - Picamera2使用一种特定类型的 Linux 系统内存,称为 CMA 内存。系统资源不足的话会有问题。
如果有任何其他问题或疑问,可加入树莓派摄像头论坛讨论。