树莓派4B + ubuntu24 中安装 libcamera

说明

之前买了树莓派4B, 又买了国产博亚的SCI树莓派摄像头, 给树莓派安装了Ubuntu系统后, 想要使用这个SCI摄像头. 结果发现并不容易, 需要安装应用库才能使用这个摄像头. 这里记录下在Ubuntu中安装libcamera库时遇到的问题.

安装libcamera 和rpicam-apps

官方有安装文档[]Camera software - Raspberry Pi Documentation

按照步骤安装即可. 只是在编译rpicam-apps时 有些依赖包之前没有安装, 但是没有关系, 编译过程会提示缺少的依赖包的, 安装上即可.

如下图所示这样:

在这里插入图片描述

使用libcamera-hello测试安装结果

使用libcamera-hello的测试安装结果时, 错误提示

Made X/EGL preview window
ERROR: *** no cameras available ***

在这里插入图片描述

经过查询原因可能是[[Solved] Error: No cameras available! - Raspberry Pi Forums], 我使用的是非官方的SCI摄像头, 需要修改配置/boot/firmware/config.txt, 在其中添加.

camera_auto_detect=0
dtoverlay=ov5647

重启机器, 然后再使用libcamera-hello --list-camera可以看到当前的摄像头设备

Available cameras
-----------------
0 : ov5647 [2592x1944 10-bit GBRG] (/base/soc/i2c0mux/i2c@1/ov5647@36)
    Modes: 'SGBRG10_CSI2P' : 640x480 [58.92 fps - (16, 0)/2560x1920 crop]
                             1296x972 [43.25 fps - (0, 0)/2592x1944 crop]
                             1920x1080 [30.62 fps - (348, 434)/1928x1080 crop]
                             2592x1944 [15.63 fps - (0, 0)/2592x1944 crop]

但是使用libcamera-hello却不能调用摄像头. 报错信息是

"failed to import fd" 

在这里插入图片描述

查询得知应该是使用错了方法[SOLVED] libcamera on Raspberry Pi 4 4gb failing with “failed to import fd 19” over ssh with X-forwarding - Raspberry Pi Forums], 使用

libcamera-hello --qt-preview

就可以正常工作.

安装完成.

<think>嗯,用户问的是树莓派4B安装Ubuntu 20.04后如何使用自带的CSI摄像头。首先,我需要确认树莓派4B在Ubuntu系统下对CSI摄像头的支持情况。因为树莓派通常用的Raspberry Pi OS,而Ubuntu可能驱动支持不同。 首先,用户可能已经安装Ubuntu 20.04,但不知道如何启用CSI摄像头。可能需要检查内核版本是否支持,或者需要额外的驱动。我记得在Raspberry Pi OS里,raspi-config可以启用摄像头模块,但Ubuntu下可能没有这个工具。 接下来,可能需要手动启用设备树覆盖(Device Tree Overlay)来激活CSI接口。这涉及到修改/boot/config.txt文件,添加dtoverlay=vc4-kms-v3d或者其他相关的覆盖。但Ubuntu的启动配置可能位置不同,或者在boot分区下的config.txt里。 然后,安装必要的库和工具,比如使用v4l2(Video4Linux2)来检测摄像头是否存在。用户可能需要安装v4l-utils,然后用v4l2-ctl命令列出设备。如果摄像头被识别,就可以用工具如ffmpeg或者OpenCV来捕捉图像。 另外,可能还需要考虑CSI摄像头模块的型号,比如官方摄像头还是第三方,不同型号可能需要不同的配置。如果用户遇到问题,比如设备未找到,可能需要检查连接线是否插好,或者是否有内核模块需要加载,比如bcm2835-v4l2。 还有,Ubuntu 20.04的内核版本是否包含必要的驱动,可能需要更新内核或安装特定包。用户可能需要添加PPA源或者从源码编译驱动。如果官方提供的驱动只适用于Raspberry Pi OS,可能需要找社区提供的解决方案。 另外,用户可能需要配置用户权限,比如将用户加入video组,避免需要sudo权限才能访问摄像头设备。 总结步骤大概是:检查硬件连接,启用设备树覆盖,安装驱动和工具,验证摄像头识别,处理可能的权限问题,最后测试使用摄像头。如果过程中遇到问题,可能需要查看日志或社区支持。</think>在树莓派4B上安装Ubuntu 20.04后使用CSI摄像头需按以下步骤操作: --- ### 一、硬件准备 1. **确认摄像头型号** - 官方CSI摄像头(如Raspberry Pi Camera Module V2)兼容性最佳 - 第三方摄像头需确认支持`libcamera`协议 2. **连接摄像头** - 关闭树莓派电源 - 将CSI排线金属面朝向网口方向插入CSI接口(位于HDMI和3.5mm音频口之间) --- ### 二、系统配置 #### 步骤1:启用摄像头接口 ```bash # 编辑配置文件 sudo nano /boot/firmware/config.txt ``` 在文件末尾添加: ```ini # 启用摄像头接口 start_x=1 gpu_mem=128 ``` *注意:Ubuntu Server版需手动配置,Desktop版可能已默认开启* #### 步骤2:安装必要驱动 ```bash sudo apt update sudo apt install v4l-utils libcamera-apps ``` --- ### 三、验证摄像头识别 #### 方法1:检查设备节点 ```bash ls /dev/video* ``` 若输出类似`/dev/video0`,表示摄像头已识别 #### 方法2:使用`v4l2-ctl`检测 ```bash v4l2-ctl --list-devices ``` 正常应显示摄像头型号信息 --- ### 四、基础使用示例 #### 1. 静态图像拍摄 ```bash libcamera-jpeg -o test.jpg ``` #### 2. 实时视频预览 ```bash libcamera-vid -t 10000 -o test.h264 ``` #### 3. 使用OpenCV(需提前安装) ```python import cv2 cap = cv2.VideoCapture(0) ret, frame = cap.read() cv2.imwrite('opencv_test.jpg', frame) ``` --- ### 五、常见问题排查 1. **设备未识别** - 检查CSI排线连接是否到位 - 确认`config.txt`修改后已重启 - 运行`dmesg | grep -i camera`查看内核日志 2. **权限问题** ```bash sudo usermod -aG video $USER ``` 重启后生效 3. **低帧率/花屏** - 尝试降低分辨率: ```bash libcamera-vid -o test.h264 --width 640 --height 480 ``` --- ### 六、进阶配置 - **手动设置参数**: ```bash libcamera-hello --framerate 30 --width 1920 --height 1080 ``` - **RTSP流媒体**: ```bash libcamera-vid -t 0 --inline --listen -o tcp://0.0.0.0:8888 ``` 建议访问[Ubuntu Raspberry Pi Wiki](https://wiki.ubuntu.com/RaspberryPi)获取最新驱动支持信息。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值