树莓派摄像头使用Motion监测人物动作

更多干货推荐可以去牛客网看看,他们现在的IT题库内容很丰富,属于国内做的很好的了,而且是课程+刷题+面经+求职+讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费!!!点击进入--------------》跳转接口
在这里插入图片描述

更多干货推荐可以去牛客网看看,他们现在的IT题库内容很丰富,属于国内做的很好的了,而且是课程+刷题+面经+求职+讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费!!!点击进入--------------》跳转接口
在这里插入图片描述

参考:树莓派摄像头检测到人物动作
作者:枕上
发布时间:2021-07-22 20:37:17
网址:https://blog.csdn.net/jinchi_boke/article/details/119008405?spm=1001.2014.3001.5501

目录

  • 硬件安装
  • 配置
  • 基本操作
  • 用VLC做网络摄像头
  • 用Motion做监控
    • 安装和基础配置
    • 进行监控
    • 监控运动物体(人脸靠近)
    • 监控到运动物体时报警

本文中初步体验了一下树莓派摄像头的基础玩法,利用命令行实现拍照片、拍视频、监控等基本功能。

硬件安装

把摄像头插到树莓派上。需要将摄像头底下那个蓝色的一面朝向USB接口那个方向,不要插反了。等到安装完毕了,确保连接好各个硬件之后再开电源,千万记得不要热插拔摄像头。

配置

登录到树莓派,添加摄像头驱动。

sudo vi /etc/modules
# 在文件最后添加
bcm2835-v4l2
sudo raspi-config

选择Interfacing Options,选择Camera,选择。确定后需要重启,重启的时候会发现摄像头的小灯会亮1下(之前不亮)。

通过下面的命令检查摄像头是否正常。

ls -al /dev/ | grep video

基本操作

先记住一个用来从树莓派上下载文件的命令scp,方便查看后面拍摄的照片和视频。

# 将树莓派上image.jpg文件拷贝到当前目录
scp pi@192.168.1.16:/home/pi/image.jpg .

使用命令行拍照片:

raspistill -o image.jpg

使用命令行拍10s的视频:

raspivid -o vv.h264 -t 10000

参数:

-? 列出所有参数
-o 输出到指定文件,如果文件名"-"代表标准输出(stdout-rot 旋转角度

参考:https://www.raspberrypi.org/documentation/usage/camera/raspicam/raspistill.md

参考:https://www.raspberrypi.org/documentation/usage/camera/raspicam/raspivid.md

用VLC做网络摄像头

sudo apt update
sudo apt upgradesudo apt install -y vlcraspivid -o - -t 0 -n -w 640 -h 480 | cvlc -vvv stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8160}' :demux=h264

参数-n说明了不显示预览窗口。随后vlc作为服务器,将流媒体送到树莓派的8160端口。同一网络下的任意其他装有VLC的设备,就可以通过访问树莓派的IP地址和8160端口(例如:http://192.168.1.16:8160)来播放摄像头拍摄的内容。

如果出现报错信息:

VLC is not supposed to be run as root.
vi /usr/bin/vlc
# search for "geteuid" and replace it with "getppid"

延迟比较严重,大概有5s左右。

用Motion做监控

Motion是Linux下一款轻量级的监控软件。在日常工作模式下,Motion可以提供网络摄像头的功能。当拍摄过程中画面发生变动时,Motion可以保存动作发生时的图片和视频。

安装和基础配置

sudo apt-get install motion

修改Motion的配置文件/etc/motion/motion.conf,更改下面几个值为:

stream_localhost off
stream_maxrate 30
framerate 15 # 默认值是2,看起来会延迟很严重
stream_port 8081 # 端口号

需要注意的是target_dir选项,默认值为/var/lib/motion。这是Motion存储文件的目标文件夹。所存储文件包括了运动捕捉产生的图片或视频。用户motion必须对该目标文件夹有写入权限。同时留意,流媒体的默认端口是8081。

修改/etc/default/motion,更改守护进程的设置:

start_motion_daemon=yes

进行监控

启动motion

# 默认是控制台模式启动,后台启动的话加 -b
sudo motion 

在同一局域网下的其他电脑上,用浏览器打开192.168.1.13:8081,可以直接看到即时拍摄的流媒体。另外,可以到树莓派上的/var/lib/motion目录下查看录制好的视频。

监控运动物体(人脸靠近)

通过motion可以实现当监控到有运动物体时,截取图片。

output_pictures best # 将off改为best,还可以选first和center

启动motion,拍摄从静止到运动的场景,例如:挥挥手,然后到/var/lib/motion目下看看有没有生成包含运动物体的图片。

监控到运动物体时报警

监控到运动物体手工检查并不实用,我们更希望能够报警。

首先,在/home/pi/project/try-motion目录下面新建一个文件motionpic.py:

from sys import argvfilename = argv[1]
f = open('motion.log', 'a')
f.write(filename)
f.write('\r\n')

然后修改/etc/motion/motion.conf文件:

on_picture_save python3 /home/pi/project/try-motion/motionpic.py %f

当监控到运动物体时,就会记录到/home/pi/project/try-motion/motion.log文件中。

其实,以此代码为基础,我们可以实现很多监控报警场景,例如可以和树莓派的GPIO联动起来,实现一些更直观的报警效果。

参考:https://motion-project.github.io

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/265407.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ARM(IMX6U)ARM Cortex-A7中断系统(GPIO按键中断驱动蜂鸣器)

参考:Linux之ARM Cortex-A7 中断系统详解 作者:一只青木呀 发布时间: 2020-09-16 16:07:22 网址:https://blog.csdn.net/weixin_45309916/article/details/108290225 目录1、中断是什么2、回顾STM32中断系统2.1、中断向量表(对应的…

测试——设计思维之获取反馈

获取用户反馈 为什么要测试? 尽早的从用户,干系人,专家那边获得反馈,能够迭代改善通过测试能够知道我们的主意设想的强项和弱势早失败如何测试? 让原型自己说话不要为自己的想法狡辩,原型是给用户&#xff…

Idea 设置Eclipse快捷键(常用)

使用Idea不习惯,特此将其配置成Eclipse风格的。 1、选择Eclipse风格,选择copy一份,可以自己重命名。 2、设置生成快捷键的快捷键(例如:Eclipse中的Alt/) 3、设置main函数快捷键(补充&#xff1a…

php oracle视图,Oracle v$database视图分析

GUARD_STATUS:防止数据库修改的状态(可能为all或者none或者standby) SUPPLEMENTAL_LOG_DATA_MIN: SUPPLEMENTAL_LOG_DATA_PK:SQL> desc v$database名称 是否为空? 类型----------------- -------- ------------DBID NUMBERNAME VARCHAR2(…

ARM(I.MX6ULL) EPIT定时器中断实验、定时器按键消抖

参考:Linux之ARM (I.MX6ULL) EPIT定时器详解 作者:一只青木呀 发布时间: 2020-09-20 10:03:37 网址:https://blog.csdn.net/weixin_45309916/article/details/108689629 参考:Linux驱动中按键消…

ThinkPHP模型连接数据库 查询 ajax

1.连接数据库 在模板配置文件里面写 2.创建Model模型 让Home和Admin共同使用 3.实例化模型的方法 第一种: 第二种: M()方法 第三种:D()方法 M()方法和D()方法的区别: 在tp3.2以后,M()和D()是一样的,在3.2…

NXP (I.MX6ULL) GPT高精度延时定时器

参考:Linux NXP (I.MX6ULL) GPT高精度延时定时器 作者:一只青木呀 发布时间: 2020-09-20 11:50:14 网址:https://blog.csdn.net/weixin_45309916/article/details/108690475 目录GPT 定时器简介GPT 定时器特性GPT 定时器时钟源选择…

oracle容错,Oracle DML容错处理方法

关于DML Error Logging效率的问题,摘自网上一篇文章,作为单独一篇说明,原文如下:DML Error Logging in Oracle 10g Database Release 2In some situations the most obvious solution to a problem is a DML statement (INSERT ..…

图解快速区别——串口、COM口、UART、TTL、RS-232、RS-485

参考:串口、COM口、UART口, TTL、RS-232、RS-485区别详解 作者:flyingju 发布时间: 2017-09-16 10:30:31 网址:https://blog.csdn.net/zhuyongxin_6688/article/details/78001767 目录串口名词区分COM口串口UARTD型9针串口USB转TT…

这份代码是不是应该有BUG!!

为什么80%的码农都做不了架构师?>>> #include"stdio.h" #include"stdlib.h" #include"math.h" #include"io.h" #include"time.h" #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0 #de…

NXP(I.MX6uLL) UART串口通信原理————这个未复习

参考:Linux NXP (I.MX6uLL) UART串口通信原理 作者:一只青木呀 发布时间: 2020-09-20 16:48:33 网址:https://blog.csdn.net/weixin_45309916/article/details/108694634 目录1、UART简介1.1、UART串口通讯…

linux内核pwn,Linux Kernel Pwn 学习笔记 (UAF)

原标题:Linux Kernel Pwn 学习笔记 (UAF)本文为看雪论坛优秀文章看雪论坛作者ID:Vinadiak0x01 背景知识UAF漏洞:UAF 漏洞是当我们 free 掉某个指针变量所指向的堆块的时候,未将该指针变量置0,导致该指针依然指着该堆块…

NXP(I.MX6uLL)DDR3实验——DDR发展历史

目录何为RAM 和ROMSRAM 简介①、地址线②、数据线③、控制线SDRAM 简介①、控制线(时钟、片选)②、A10 地址线③、地址线④、BANK 选择线⑤、BANK 区域⑥、数据线⑦、高低字节选择DDR 简介①、控制线②、地址线③、BANK 选择线④、BANK 区域⑤、数据线⑥、数据选通引脚⑦、数据…

超赞!12套你没见过的社交媒体 社交网站图标

如今,社交网络成为我们信息获取和传播的重要途径,很多网站都有把内容分享到社交媒体的功能。社交媒体图标作为向用户传递信息的重要媒介,不管是在网页还是 Web 应用程序中都非常需要。今天这篇文章和大家分享12套你没见过的社交媒体 & 社…

I2C实验

参考:I2C 总线协议详解 作者:一只青木呀 发布时间:2020-09-21 11:41:25 网址:https://blog.csdn.net/weixin_45309916/article/details/108705297 目录I2C 简介I2C 协议I2C协议有关术语1、起始位2、停止位3、数据传输4、应答信号5…

linux安装ffmpeg版本太多,Linux安装FFmpeg的方法

FFmpeg是一款优秀的播放器解码插件,可以跨平台,有不同平台的版本,对于解码,编码和录制以及转换作用的很多的软件都是使用FFmpeg的插件来实现的.FFmpeg:https://www.ffmpeg.org/download.html安装方法:#wget…

官方系统镜像烧写(windows下使用OTG)

目录OTG系统烧写为什么能通过VBS将系统烧写进去呢?OTG系统烧写 选择对应的烧写工具,USB_OTG线连接好,双击即可进行烧写。 注意: 当然也可以烧写到SD卡里面。前面我们烧写裸机代码都是选择从SD卡启动。Mfgtool这个工具先向板子下载…

SQL Server中通用数据库角色权限的处理详解

SQL Server中通用数据库角色权限的处理详解 前言 安全性是所有数据库管理系统的一个重要特征。理解安全性问题是理解数据库管理系统安全性机制的前提。 最近和同事在做数据库权限清理的事情,主要是删除一些账号;取消一些账号的较大的权限等,例…

linux之xargs命令用途

实现文件删除的方法大致有以下几种:1.rm find /a -type f 2.find /a -type f -exec|-ok rm -rf { } \;3.find /a -type f -exec|-ok rm -rf { } ;本例中xargs将find产生的长串文件列表拆散成多个子串,然后…

什么是U-Boot以及如何下载U-Boot源码

参考:什么是U-Boot以及如何下载U-Boot源码? 作者:一只青木呀 发布时间: 2020-10-20 11:05:59 网址:https://blog.csdn.net/weixin_45309916/article/details/109176510 目录前言系统的启动过程uboot简介uboot源码下载选…