跳到主要内容

使用摄像头

Raspberry Pi OS Bookworm 和 Bullseye 分支​

在该分支中,默认使用 libcamera 相机子系统接口。并且摄像头接口默认是打开的。

可以使用以下命令控制摄像头:

# libcamera-hello 是一个简单的"hello world" 程序,主要是启动摄像头预览功能,并显示到屏幕上。
libcamera-hello # 大约显示 5 秒左右的预览窗口
libcamera-hello -t 0 # 可以长时间显示预览窗口,使用 ctrl+c 结束

# libcamera-jpeg 是一个简单的应用程序,运行预览窗口,然后获取高分辨率静止图像。
libcamera-jpeg -o test.jpg # 大约显示 5 秒左右的预览窗口,然后将完整分辨率的 JPEG 图像保存到 test.jpg

# libcamera-still 是一个更复杂的静态图像捕捉应用程序,主要为了模拟 raspistill
libcamera-still -o test.jpg # 约显示 5 秒左右的预览窗口,然后图像保存到 test.jpg

# libcamera-vid 是一个视频拍摄应用程序。默认使用 Raspberry Pi 的硬件 H.264 编码器。
libcamera-vid -t 10000 -o test.h264 # 将 10 秒的视频保存到 test.h264
vlc test.h264 # 可以使用 vlc 播放生成的文件

# libcamera-raw 直接从传感器捕获原始帧的基本应用程序,不显示预览窗口。
libcamera-raw -t 2000 -o test.raw # 将 2 秒的原始帧数据保存到 test.raw

更详细信息可查看: libcamera 与 libcamera-apps

注:在有些主板上,使用 libcamera 报错,可以尝试执行以下命令

sudo raspi-config -> Advanced Options -> Glamor -> Yes(Enabled) -> Ok -> Finish -> Yes (Reboot)

Raspberry Pi OS buster 分支与 Ubuntu​

在这些系统中默认使用 raspicam 相机子系统接口。在 Ubuntu 中摄像头接口默认是打开的。在 Raspberry Pi OS buster 分支中,需要执行以下命令打开摄像头接口

sudo raspi-config -> Interface Options -> Camera -> Yes -> OK -> Finish -> Yes (Reboot)

可以使用以下命令控制摄像头:

# raspistill 是一个运行预览窗口,然后获取高分辨率静止图像的应用程序。
raspistill -o cam.jpg # 大约显示 5 秒左右的预览窗口,然后图像保存到 cam.jpg
raspistill -vf -hf -o cam2.jpg # 垂直翻转和水平翻转

# raspivid 是一个视频拍摄应用程序。
raspivid -o vid.h264 # 将 5 秒的视频保存到 vid.h264
raspivid -o video.h264 -t 10000 # 录制 10 秒视频
raspivid -vf -hf -o video.h264 -t 10000 # 垂直翻转和水平翻转

更详细信息可查看: Raspicam 命令