2026 更新说明
这篇文章记录的是我在 Ubuntu 22.04 跑在树莓派 4B 上时,为了让 CSI 摄像头工作而踩过的一套坑。它的重点是“Ubuntu on Raspberry Pi 这个特定组合下,我当时是怎么解决问题的”。
但如果你今天使用的是 Raspberry Pi OS,官方相机软件栈已经非常明确:现代相机应用建立在
libcamera之上,当前推荐使用的是rpicam-apps;同时,旧的 legacy camera stack 已经长期 deprecated,并且现在被官方视为 unsupported。Raspberry Pi OS Bookworm 还把原来的libcamera-*应用名改成了rpicam-*。所以请把本文理解为:Ubuntu 22.04 on Pi 的一篇工程记录,而不是当前所有树莓派相机安装场景的通用教程。
这篇文章最有价值的地方,不是“告诉你任何树莓派都该怎么装摄像头驱动”,而是记录了一个比较具体的迁移场景:我把旧系统上的相机方案迁到树莓派 4B + Ubuntu 22.04 时,遇到了从 legacy camera stack 向
libcamera过渡带来的兼容性问题。如果你现在用的是 Raspberry Pi OS,建议先走官方的
rpicam-*/libcamera路线;如果你像我一样是在 Ubuntu 22.04 这类非官方主流组合上折腾,那么本文里的源码编译和避坑过程才更有参考价值。
先分清你现在是哪条路线
路线 A:Raspberry Pi OS 或最新版本Ubuntu(推荐)
- 优先用官方
rpicam-*工具 - 不要再把 legacy stack 当默认方案
libcamera-*旧名称在一些系统上可能还能用,但建议尽快适应rpicam-*
路线 B:老版本Ubuntu on Raspberry Pi
- 很多时候不能完全照搬 Raspberry Pi OS 的现成文档
- 某些包版本、头文件、示例程序、OpenCV 对接方式,可能需要额外处理
- 本文主要讨论的就是这条路线
最近需要用树莓派4b跑个物体跟踪程序,拿出了以前买的套件,当时配的是官方v2摄像头,用的以前的驱动,可以用raspistill -v -o test.jpg获取图片。
但是几年前的系统太老了,还是32位18.

本文记录了在树莓派4b上运行物体跟踪程序时,将旧的32位18.04系统升级到64位Ubuntu 22.04,并安装摄像头驱动的过程。介绍了安装libcamera及相关应用的步骤,解决了运行时出现的两种错误,最后给出了简单的Python测试代码。
&spm=1001.2101.3001.5002&articleId=133353736&d=1&t=3&u=d0b4b88aadf448f0a6ad2dfcbd778c2f)
310

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



