1. 环境准备与基础配置
在树莓派4B上运行Ubuntu 22.04系统时,使用CSI摄像头需要手动编译安装libcamera和rpicam-apps。官方Ubuntu仓库并未提供预编译版本,因此我们需要从源码构建。这个过程虽然略显繁琐,但能让你完全掌控摄像头的各项功能。
首先确保系统已更新到最新状态:
sudo apt update && sudo apt upgrade -y
安装编译所需的基础依赖包:
sudo apt install -y build-essential cmake meson ninja-build pkg-config libdrm-dev libexif-dev libboost-program-options-dev
还需要安装一些额外的开发包:
sudo apt install -y libyaml-dev libssl-dev libegl-dev libgles2-mesa-dev
重要提示:在开始编译前,请务必检查摄像头排线连接。我遇到过多次因为排线接触不良导致的"no camera available"错误。正确的连接方式是金属触点朝向网线接口方向,轻轻推入卡槽直到听到清脆的锁定声。
2. 编译安装libcamera
libcamera是树莓派相机系统的核心库,它提供了统一的API接口来访问相机硬件。编译过程需要从GitHub获取最新源码:
git clone https://github.com/raspberrypi/libcamera.git
cd libcamera
配置编译选项时,需要根据你的具体需求启用相应的功能。对于大多数应用场景,我推荐使用以下配置:
meson setup build --buildtype=release \
-Dpipelines=rpi/vc4,rpi/pisp \
-Dipas=rpi/vc4,rpi/pisp \
-Dv4l2=true \
-Dgstreamer=enabled \
-Dtest=false \
-Dlc-compliance=disabled \
-Dcam=disabled \
-Dqcam=disabled \
-Ddocumentation=disabled \
-Dpycamera=enabled
开始编译(这个过程可能需要较长时间,取决于你的网络速度和树莓派性能):
ninja -C build
安装到系统目录:
sudo ninja -C build install
安装完成后,建议更新动态链接库缓存:
sudo ldconfig
3. 编译安装rpicam-apps
rpicam-apps是基于libcamera的一系列实用工具,包括静态图像捕获、视频录制、实时预览等功能。安装步骤与libcamera类似:
git clone https://github.com/raspberrypi/rpicam-apps.git
cd rpicam-apps
对于Ubuntu桌面环境,使用以下配置启用所有功能:
meson setup build -Denable_libav=enabled \
-Denable_drm=enabled \
-Denable_egl=enabled \
-Denable_qt=enabled \
-Denable_opencv=disabled \
-Denable_tflite=disabled \
-Denable_hailo=disabled
如果你计划使用OpenCV或TensorFlow Lite进行图像处理,可以将对应选项改为enabled。但请注意这会增加编译时间和依赖复杂度。
编译并安装:
ninja -C build
sudo meson install -C build
4. 基础测试与验证
安装完成后,首先检查版本信息确认安装成功:
rpicam-still --version
运行实时预览测试(显示5秒后自动退出):
rpicam-hello
如果需要持续预览,可以使用以下命令:
rpicam-hello --camera 0 -t 0


1190

被折叠的 条评论
为什么被折叠?



