树莓派ubuntu使用csi摄像头
时间: 2025-05-03 21:39:24 浏览: 117
### 配置树莓派 Ubuntu 系统中的 CSI 摄像头
在树莓派上使用 Ubuntu 系统配置 CSI 摄像头涉及多个步骤,包括硬件连接、驱动安装以及软件调试。以下是详细的说明:
#### 1. 硬件准备与连接
确保 CSI 摄像头已正确连接至树莓派的 CSI 接口。对于树莓派 4B 或 CM4,需确认摄像头模块牢固插入,并检查电源供应是否稳定[^1]。
#### 2. 安装基础系统
在树莓派上安装 Ubuntu Server 版本(推荐版本为 18.04 LTS 或更高)。如果需要图形界面支持,则可以额外安装 `ubuntu-desktop` 软件包:
```bash
sudo apt update && sudo apt upgrade -y
sudo apt install ubuntu-desktop -y
```
此命令会安装完整的桌面环境以便于后续操作[^3]。
#### 3. 启用 CSI 摄像头支持
运行以下命令启用树莓派上的 CSI 摄像头功能:
```bash
sudo raspi-config
```
进入菜单后选择 **Interfacing Options -> Camera** 并启用摄像头支持。完成后重启设备以应用更改。
#### 4. 检查摄像头设备
执行以下命令验证摄像头是否被识别为 `/dev/video0` 设备节点:
```bash
ls /dev/video*
```
如果有返回结果表明摄像头已被成功加载。进一步可以通过以下工具测试其工作状态[^2]:
- 使用 `libcamera-hello` 测试视频流预览:
```bash
libcamera-hello
```
- 进行单次拍摄保存图片文件:
```bash
libcamera-jpeg -o test.jpg
```
#### 5. OpenCV 的集成与使用
为了更灵活地处理图像数据,在 Ubuntu 上可通过 OpenCV 库访问 CSI 摄像头。具体方法如下:
先安装必要的依赖项和库文件:
```bash
sudo apt-get install python3-opencv ffmpeg v4l-utils -y
```
编写简单的 C++ 或 Python 程序来捕获实时画面并展示出来。例如基于 Python 实现的一个脚本可能看起来这样:
```python
import cv2
cap = cv2.VideoCapture(0)
if not cap.isOpened():
print("Cannot open camera")
else:
while True:
ret, frame = cap.read()
if not ret:
break
cv2.imshow('CSI Cam', frame)
key = cv2.waitKey(1) & 0xFF
if key == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
```
上述代码片段展示了如何利用 OpenCV 打开默认摄像机 (index=0),读取帧并将它们显示在一个窗口中直到按下 'q' 键退出循环[^4]。
#### 6. ROS 功能包调用
针对机器人操作系统 (ROS),可创建自定义节点订阅来自 CSI 摄像头的消息主题。通常情况下这涉及到设置 publisher 和 subscriber 结构化程序逻辑从而实现自动化流程控制等功能扩展需求。
---
阅读全文
相关推荐



















