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

商城网站建设方案百度手机卫士

商城网站建设方案,百度手机卫士,网站报价明细表,古风网页设计优秀作品—— 从驱动配置、Yocto 构建,到 OpenCV 实战 在树莓派上运行摄像头,在官方的 Raspberry Pi OS 可能很简单,但在 Yocto 项目中,需要手动配置驱动、设备树、软件依赖 才能确保摄像头正常工作。本篇文章从 BSP 驱动配置、Yocto 关键…
—— 从驱动配置、Yocto 构建,到 OpenCV 实战

在树莓派上运行摄像头,在官方的 Raspberry Pi OS 可能很简单,但在 Yocto 项目中,需要手动配置驱动、设备树、软件依赖 才能确保摄像头正常工作。本篇文章从 BSP 驱动配置Yocto 关键配置OpenCV 实战 讲解如何 让树莓派摄像头在 Yocto 镜像中正常运行,并最终在 屏幕上实时显示画面


1️⃣ Yocto 关键知识点

在 Yocto 项目中,摄像头的支持依赖:

📌 关键点

  1. BSP(Board Support Package)配置

    • 设备树(Device Tree)确保摄像头硬件被正确注册
    • config.txt 配置 GPU、摄像头固件
  2. 内核(Kernel)驱动

    • bcm2835-v4l2 模块:用于支持 V4L2 摄像头设备
    • libcamera:现代化的摄像头用户空间 API
    • v4l-utils:V4L2 设备管理工具
  3. 镜像构建(Yocto Bitbake)

    • IMAGE_INSTALL 确保安装 libcameraffmpegopencv
    • IMAGE_FEATURES 使系统支持 GUI 显示
    • systemd 启动脚本 让摄像头 开机自动运行
  4. 用户空间(User Space)

    • ffmpeg 录制视频
    • v4l2-ctl 进行摄像头测试
    • OpenCV 进行实时图像处理

2️⃣ 驱动配置:设备树 & 内核

📌 2.1 设备树(Device Tree)配置

树莓派的摄像头使用 MIPI CSI-2 接口,在设备树中需要正确注册。

修改 Yocto BSP config.txt,确保系统启用摄像头:

# 让系统自动检测摄像头
camera_auto_detect=1
# 启用 VC4-KMS 显示驱动,支持 `libcamera`
dtoverlay=vc4-kms-v3d
# 启用摄像头固件支持
start_x=1
# GPU 预留 128MB 内存(摄像头和 GUI 需要)
gpu_mem=128

🔹 关键点

  • camera_auto_detect=1 让树莓派 自动检测摄像头
  • dtoverlay=vc4-kms-v3dlibcameraffmpeg 可以正确访问摄像头
  • start_x=1 让 GPU 能够处理 ISP(图像信号处理)

📌 2.2 加载摄像头驱动

在 Yocto 里,摄像头驱动需要手动加载

modprobe bcm2835_v4l2

确保 bcm2835_v4l2 被自动加载

echo "bcm2835_v4l2" >> /etc/modules

🔹 驱动解释

  • bcm2835-v4l2树莓派的 V4L2(Video4Linux)驱动
  • /dev/video0 设备正确生成
  • libcamera 需要 vc4-kms-v3dbcm2835-v4l2 才能正常工作

3️⃣ Yocto 镜像配置

为了让 Yocto 镜像包含摄像头所需的软件,修改 rpi-test-image.bb

# 继承 rpi-test-image
include recipes-core/images/rpi-test-image.bb# 添加 SSH 服务器,方便远程调试
IMAGE_INSTALL:append = " openssh openssh-sftp-server"# 启用 X11 图形界面支持
IMAGE_FEATURES += "x11-base x11-sato splash"# 安装摄像头相关软件
IMAGE_INSTALL += " libcamera libcamera-apps v4l-utils"# 安装 ffmpeg 和 OpenCV
IMAGE_INSTALL  += " ffmpeg opencv opencv-apps python3-opencv"

🔹 关键点

  • libcamera 用于摄像头 API
  • v4l-utilsv4l2-ctl 可以测试摄像头
  • opencv 用于 Python 处理摄像头画面
  • ffmpeg 让摄像头 支持录制视频

4️⃣ 编译 Yocto 镜像

完成配置后,运行:

bitbake core-image-sato

然后刷写到 SD 卡:

dd if=tmp/deploy/images/raspberrypi4-64/core-image-sato-raspberrypi4-64.wic of=/dev/sdX bs=4M status=progress

5️⃣ 摄像头驱动调试

📌 5.1 确保 /dev/video0 存在

ls /dev/video*

如果 /dev/video0 不存在,手动加载驱动:

modprobe bcm2835_v4l2

📌 5.2 使用 v4l2-ctl 测试摄像头

v4l2-ctl --list-devices

如果摄像头已检测到,运行:

v4l2-ctl --stream-mmap --stream-count=100 -d /dev/video0

6️⃣ 实战:运行 OpenCV 进行摄像头实时显示

运行以下 Python 代码:

import cv2cap = cv2.VideoCapture(0)while True:ret, frame = cap.read()if not ret:breakcv2.imshow("摄像头", frame)if cv2.waitKey(1) & 0xFF == ord('q'):  # 按 'q' 退出breakcap.release()
cv2.destroyAllWindows()

🎥 成功运行后,摄像头画面会在屏幕上实时显示!


7️⃣ 其他摄像头应用

📸 7.1 使用 ffmpeg 拍照

ffmpeg -f v4l2 -video_size 1280x720 -i /dev/video0 -vframes 1 snapshot.jpg

🎥 7.2 录制视频

ffmpeg -f v4l2 -framerate 30 -video_size 1280x720 -i /dev/video0 -t 10 output.mp4

📡 7.3 实时推流

ffmpeg -f v4l2 -i /dev/video0 -f mpegts udp://192.168.1.100:1234

在 VLC 中打开:

udp://@192.168.1.100:1234

8️⃣ 结果展示

最终,摄像头成功运行,并在屏幕上实时显示:
在这里插入图片描述


🎯 结论

本篇文章完整讲解了 如何在 Yocto 项目中配置树莓派摄像头

  1. BSP 设备树配置
  2. 内核驱动 bcm2835-v4l2 加载
  3. Yocto 镜像构建
  4. v4l2-ctl & ffmpeg 测试
  5. OpenCV 实战
  6. 流媒体推送

✅ 关键命令总结

任务命令
检查 /dev/video0ls /dev/video*
测试 v4l2-ctlv4l2-ctl --list-devices
拍照ffmpeg -f v4l2 -i /dev/video0 -vframes 1 snapshot.jpg
录制视频ffmpeg -f v4l2 -i /dev/video0 -t 10 output.mp4
实时显示(OpenCV)python3 script.py

🎯 如果你对 Yocto BSP、摄像头调试有任何问题,欢迎交流!🚀

http://www.hkea.cn/news/690557/

相关文章:

  • 网站做全局搜索云南新闻最新消息今天
  • 公司网站推广方案长春seo代理
  • 网站地图怎么样做更利于收录手机百度搜索引擎入口
  • 中国建筑公司网站谷歌浏览器官方app下载
  • 厦门网站建设策划seo网站优化培训找哪些
  • 宝安区住房和建设局官方网站seo搜索引擎优化书籍
  • 省建设厅执业资格注册中心网站2023搜索最多的关键词
  • 本地wordpress上传搜索引擎营销优化策略有哪些
  • html手机网站模板培训心得体会800字
  • 合肥做网站公司哪家好经典的软文广告
  • 网站备案哪个部门北京推广
  • 澳环网站设计公司网站建设方案
  • 云南旅行社网站建设网络推广有多少种方法
  • 龙岗做商城网站建设网络营销战略的内容
  • 网站建设网络公整站排名
  • 南昌购物网站制作软文广告成功案例
  • 鞍山找工作哪个网站最靠谱千度搜索引擎
  • 济南做网站互联网公司英文seo推广
  • 给企业做网站的公司品牌整合营销传播
  • 互联网技术应用学什么杭州优化建筑设计
  • 重庆网站建设要点襄阳seo优化排名
  • 哪个网站用织梦做的seo站长工具查询系统
  • 本地wordpress 上传搜索引擎优化简历
  • 个人创业做网站软文营销怎么写
  • wordpress相册点击弹出框金华seo全网营销
  • 郑州手机网站建设搜狗网站收录提交入口
  • 清风网站建设抖音推广方式有哪些
  • 工作室网站开发广东网站seo营销
  • 广州正佳广场攻略深圳债务优化公司
  • 如何自己免费建网站seo网站有哪些