| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> 用树莓派USB摄像头做个监控 -> 正文阅读 |
|
[Python知识库]用树莓派USB摄像头做个监控 |
🚀 优质资源分享 🚀
【前言】
我这有两个设备,一个是积灰已久的树莓派,另一个是积灰已久的USB摄像头。 我们今天用这两个设备做一个拍摄监控方案(非视频录制),然后将拍摄好的图片合成视频进行观看。 主要用到的技术有:树莓派/linux操作,crontab,python,ffmpeg。 【系列目录】
【实现过程】树莓派驱动usb摄像头(非官方摄像头模块)首先我们要保证树莓派可以识别usb摄像头设备,使用命令:
可以看到usb设备列表第一个即 海康威视1080p usb摄像头,说明我们的摄像头设备被正确识别,如果无法识别,则要排除设备故障或想办法安装设备驱动程序。 我们使用fswebcam应用来驱动usb摄像头模块
简单输入拍照命令测试下
我们把树莓派上的 1.jpg 下载下来进行查看,成功拍摄到了画面! 我们在使用fswebcam时,增加了几个参数,下面介绍这几个参数的作用:
树莓派加载外接USB硬盘我们计划编写一个程序来长时间捕捉摄像头画面,那么就需要一个比较大的存储空间来存放我们拍摄的图片,我们从小角落找到一个同样“积灰已久”的固态硬盘。 windows下使用过的硬盘,推荐格式化成FAT32格式,该格式是兼容Linux系统文件格式的,NTFS格式兼容性不是特别好,可能读写会出问题。
使用命令查看固态硬盘是否被识别
可以看到,第二个usb设备便是我们的usb固态硬盘设备了(M.2硬盘放到了USB硬盘盒进行外接) 使用 fdisk 命令查看硬盘属性
使用 mount 挂载硬盘设备,将磁盘挂载到 /mnt/sda1 路径下 虽然网上有很多教程说配置一个配置文件(具体配置我就不说了),然后让设备开机自动挂载,但我个人极不推荐,修改配置文件开机自动挂载虽然貌似一劳永逸,但在硬盘设备发生变更时,大概率因为忘记同步修改配置文件,会造成无法启动系统的严重故障,折腾不说还可能需要重装系统解决…其实启动不频繁情况下,手动装载也不费事。
然后使用 df 命令查看存储占用详情
可以看到硬盘成功挂载。 树莓派拍摄获取素材程序我们编写一个短小的python脚本来实现以下几点小功能:
树莓派定时任务编写我们使用 linux 环境下的 crontab 编写定时任务,来定时执行拍照任务(初步定每分钟拍一张)
采用定时任务,每分钟自动调度执行我们写好的python脚本,来进行拍照任务的执行 等待一段时间后,便可拿到拍摄素材… 将素材图片合成视频我们先简单从树莓派上下载下来拍摄好的图片,在 windows 上简单合成一个视频,完成我们的任务目标,后期可以根据需要在树莓派上自动合成。 我们用 ffmpeg 软件将图片合成为视频。 首先下载 ffmpeg 软件的 exe 版本(windows),linux上可直接下载linux版。 然后将解压后 ffmpeg 的 exe 目录添加到环境变量,方便我们执行命令。 将树莓派上的图片下载下来。 下载下来的图片我们是默认使用时间戳来命名图片的,因为ffmpeg只能从 0 - n 顺序识别图片,无法识别时间戳这种命名,因此,我这里自己编写了一个工具将图片名称替换成了 0 - n.jpg。 有需要的同学可以在文末获取到工具源码及下载地址。 重命名好后,我们执行命令压缩图片为 mp4 文件。
同样我们介绍下使用的几个参数:
执行后,我们便可查看到图片被拼接成为 mp4 格式的视频。 【总结】本文通过短小的代码片段初步使用树莓派+usb摄像头进行环境捕捉,在此基础上,可以进行很多额外的场景扩展及使用优化。 【源码地址】重命名工具源码及编译后绿色程序: |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 14:29:35- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |