树莓派4B调试摄像头

树莓派4B下用opencv-python调试CSI摄像头。

  • 系统:Ubuntu mate 22.04
  • 摄像头:OV5647,CSI接口

Ubuntu安装OpenCV

sudo apt update

# 安装python
sudo apt install -y python3 python3-dev python3-pip

# 用pip方法
pip3 install numpy
pip3 install scikit-build
pip3 install opencv-python

如果通过源码编译安装opencv,则需格外依赖:

sudo apt install -y build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

安装摄像头

在这里插入图片描述
系统启动后可以在/dev下查看,默认为video0

系统配置

  • 添加摄像头权限:
sudo usermod -aG video 用户名
  • 修改 /boot/firmware/config.txt 文件,在最后添加:
gpu_mem=128            # 分配足够的GPU内存(推荐128MB)
start_x=1              # 启用摄像头支持  

并且将 camera_auto_detect=1,修改为 camera_auto_detect=0,或者直接注释掉。禁用自动检测摄像头,自动检测可能无法正确识别。
将 dtoverlay= 那行也注释掉。

  • 修改 /etc/modules 文件,在文件最后添加:
bcm2835-v4l2            # CSI 摄像头V4L2 驱动模块

配置完成后重启,使用 vcgencmd get_camera 命令,若返回supported=1,detect=1,则摄像头模块识别成功。

其他问题

  • 检查v4l2驱动支持
lsmod | grep bcm2835-v4l2
#若无加载驱动
sudo modprobe bcm2835-v4l2
  • 用v4l_utils检测摄像头是否被识别
sudo apt install v4l_utils
v4l2_ctl --list-devices           # 列出所有设备
v4l2_ctl –d /dev/video0 --all     # 查看设备详细信息
  • FFmpeg播放摄像头录像,FFmpeg是一个开源的多媒体处理工具集,支持音视频格式的转换、编码、解码、剪辑、 流处理等操作。 其中包含媒体播放器ffplay。
sudo apt install ffmpeg
ffplay -f v4l2 -input_format mjpeg -framerate 30 -video_size 640*480 -i /dev/video0

#   -f v4l2: Video4Linux2(Linux 内核的视频设备接口)
#   -input-format mjpeg: 强制摄像头输出 MJPEG 压缩格式,减少内存消耗
#   -framerate 30: 设置捕获帧率为 30 FPS
#   -video_size 640*480: 指定分辨率为 640×480
#   -i /dev/video0: 输入设备路径
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李71~李先森

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值