当前位置: 首页 > news >正文

Raspbian安装摄像头

Raspbian安装摄像头

  • 1. 源由
  • 2. 摄像头
    • 2.1 选型
    • 2.2 系统
    • 2.3 安装
  • 3. 配置&命令
    • 3.1 命令
    • 3.2 配置
  • 4. 测试
    • 4.1 拍照
      • 4.1.1 libcamera-jpeg
      • 4.1.2 libcamera-still
    • 4.2 视频流
      • 4.2.1 RTSP流
      • 4.2.2 TCP流
  • 5. 参考资料

1. 源由

家里闲置两块树莓派,打算做个WiFi视频流RTSP/RTP:

  • Raspberry Pi Zero W
  • Raspberry Pi 3B+

注:后续打算上天,帮我在模拟航模上拍点高清视频。

2. 摄像头

2.1 选型

本来想上一个热成像摄像头,看看夜景,奈何并非这么简单,而且价格也高。就不整那个玩意了。

大白天,我们选了两款:

  • 鱼眼 OV5647 130° 1.85mm 非夜视
    在这里插入图片描述

  • 树莓派原装 V2 IMX219 NoIR
    在这里插入图片描述

2.2 系统

妥妥的原生态系统bullseye,目前来说,兼容性是比较好的。系统安装参考:Raspbian镜像无头烧录

  • 2022-09-22-raspios-bullseye-arm64-lite.img.xz

注:如果想使用其他系统,可以访问:raspios_lite_arm64

2.3 安装

  • Raspberry Pi Zero W
    在这里插入图片描述

  • Raspberry Pi 3B+
    在这里插入图片描述

3. 配置&命令

3.1 命令

新系统已经不支持raspistillraspivid了,更多用的是libcamera

$ libcamera-
libcamera-hello  libcamera-jpeg   libcamera-raw    libcamera-still  libcamera-vid
  1. libcamera-hello: 一个简单的“ Hello World”应用程序,该应用程序启动了相机预览流并在屏幕上显示。
  2. libcamera-jpeg: 一个简单的应用程序来运行预览窗口,然后捕获高分辨率静止图像。
  3. libcamera-still: 更复杂的静止图像捕获应用程序,该应用程序模拟了Raspistill的更多特征。
  4. libcamera-vid: 视频捕获应用程序。
  5. libcamera-raw: 直接从传感器捕获原始(未加工的拜耳)框架的基本应用程序。

注:以前raspistill: command not found命令已经被逐渐淘汰,详见:raspios_armhf/release_notes.txt。

2021-10-30:

  • New default camera subsystem based on libcamera
  • New camera demo applications (libcamera-still and libcamera-vid) have replaced raspistill and raspivid
  • Legacy camera subsystem removed from 64-bit RPi OS (still available on 32-bit)

3.2 配置

$ sudo nano /boot/config.txt
  • Step 1:将camera-auto-detect=1修改camera_auto_detect=0

  • Step 2:根据摄像头不同型号,添加dtoverlay驱动设置到/boot/config.txt文件中。

鱼眼 OV5647 130° 1.85mm 非夜视:dtoverlay=ov5647
树莓派原装 V2 IMX219 NoIR:dtoverlay=imx219

在这里插入图片描述

4. 测试

4.1 拍照

拍照正常,基本驱动应该就正常了,详细的指令可以参考:Pi5-IMX219, www.waveshare.com

4.1.1 libcamera-jpeg

  • 全像素JPEG拍照:
$ libcamera-jpeg -o test.jpg
  • 指定宽度高度拍照:
$ libcamera-jpeg -o test.jpg -t 2000 --width 640 --height 480
  • 指定曝光和增益拍照:// exposure 20ms, gain 1.5x
$ libcamera-jpeg -o test.jpg -t 2000 --shutter 20000 --gain 1.5
  • 指定EV补偿拍照:
$ libcamera-jpeg --ev -0.5 -o darker.jpg
$ libcamera-jpeg --ev 0 -o normal.jpg
$ libcamera-jpeg --ev 0.5 -o brighter.jpg

4.1.2 libcamera-still

  • 测试命令:
$ libcamera-still -o test.jpg
  • 不同编码格式拍照:
$ libcamera-still -e png -o test.png
$ libcamera-still -e bmp -o test.bmp
$ libcamera-still -e rgb -o test.data
$ libcamera-still -e yuv420 -o test.data
  • 原始数据保存:
$ libcamera-still -r -o test.jpg
  • 长时间曝光拍照:
$ libcamera-still -o long_exposure.jpg --shutter 100000000 --gain 1 --awbgains 1,1 --immediate

在这里插入图片描述

4.2 视频流

  • Step 1:安装vlc组件
$ sudo apt-get install vlc

4.2.1 RTSP流

  • Step 2:启动rtsp服务端
$ libcamera-vid -t 0 --inline -o - | cvlc stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/stream1}' :demux=h264
  • Step 3:启动VLC播放器

在这里插入图片描述

rtsp://192.168.1.201:8554/stream1
  • Step 4:确认结果

在这里插入图片描述

4.2.2 TCP流

  • Step 2:启动TCP服务端
$ libcamera-vid -t 0 --inline --listen -o tcp://0.0.0.0:8554
  • Step 3:启动VLC播放器

在这里插入图片描述

tcp/h264://192.168.1.201:8554
  • Step 4:确认结果

在这里插入图片描述

5. 参考资料

【1】Raspbian镜像无头烧录
【2】Pi5-IMX219, www.waveshare.com
【3】Introducing the Raspberry Pi Cameras

http://www.lryc.cn/news/279935.html

相关文章:

  • 迅腾文化用网络集成化生态系统助力品牌之路的坚实后盾
  • 2401C++,C++编译时自动加密
  • vue 自定义网页图标 favicon.ico 和 网页标题
  • JOSEF约瑟端子排中间继电器 DZY-204 DC110V 导轨安装,板前接线
  • VMware workstation搭建与安装AlmaLinux-9.2虚拟机
  • 小程序基础学习(js混编)
  • git秘钥过期 ERROR: Your SSH key has expired
  • 系列十三、查询数据库中某个库、表、索引等所占空间的大小
  • 【论文解读】SiamMAE:用于从视频中学习视觉对应关系的 MAE 简单扩展
  • Docker(Mysql)将数据库表封装进容器内
  • 细谈Type-C Port的Data Role、Power Role | 乐得瑞科技
  • 团结引擎的安装
  • SpringBoot读取配置文件中的内容
  • 反弹shell方法汇总
  • 三、电脑软件路径移动方式
  • 基于JAVA+ssm智能旅游线路规划系统设计与实现【附源码】
  • 在 Windows 11 上通过 Autoawq 启动 Mixtral 8*7B 大语言模型
  • C# 图解教程 第5版 —— 第24章 预处理指令
  • 电商几乎每一次的调整,几乎都围绕着AI展开
  • [Linux 进程(三)] 进程优先级,进程间切换,main函数参数,环境变量
  • 【Java 设计模式】设计原则之单一职责原则
  • 实现导航栏吸顶操作
  • Docker简述与基础部署详解
  • (南京观海微电子)——色温介绍
  • 入门Linux简单操作
  • 操作系统复习 一、二章
  • 【国内访问github不稳定】可以尝试fastgithub解决这个问题
  • android:clickable=“false“无效,依然能被点击
  • Springboot WebFlux项目结合mongodb进行crud
  • 超维空间M1无人机使用说明书——61、ROS无人机物体识别与精准投放