树莓派摄像头检测到人物动作
原博文网址:https://www.jianshu.com/p/b16edb322508
本文中初步体验了一下树莓派摄像头的基础玩法,利用命令行实现拍照片、拍视频、监控等基本功能。
硬件安装
把摄像头插到树莓派上。需要将摄像头底下那个蓝色的一面朝向USB接口那个方向,不要插反了。等到安装完毕了,确保连接好各个硬件之后再开电源,千万记得不要热插拔摄像头。
配置
登录到树莓派,添加摄像头驱动。
sudo vi /etc/modules
# 在文件最后添加
bcm2835-v4l2
sudo raspi-config
选择Interfacing Options
,选择Camera
,选择<Yes>
。确定后需要重启,重启的时候会发现摄像头的小灯会亮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
树莓派摄像头检测到人物动作相关推荐
- 树莓派摄像头检测运动物体
文章目录 一.安装OpenCv 1.在树莓派安装运行在Python2上的OpenCV 2.在树莓派安装运行在Python3上的OpenCV 二.运动目标检测 源代码 一.安装OpenCv 检测运动物体 ...
- 树莓派摄像头使用Motion监测人物动作
更多干货推荐可以去牛客网看看,他们现在的IT题库内容很丰富,属于国内做的很好的了,而且是课程+刷题+面经+求职+讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费!!!点击进入------ ...
- 树莓派摄像头 C++ OpenCV YoloV3 实现实时目标检测
树莓派摄像头 C++ OpenCV YoloV3 实现实时目标检测 本文将实现树莓派摄像头 C++ OpenCV YoloV3 实现实时目标检测,我们会先实现树莓派对视频文件的逐帧检测来验证算法流程, ...
- 树莓派 摄像头 php,树莓派3 之 USB摄像头安装和使用
需求 如果你想在树莓上拍照或者录影,你可以安装树莓派的摄像头(有点贵).如果你不想要为摄像头模块花费额外的金钱,那有另外一个方法,就是你常见的USB 摄像头.你可能已经在PC上安装过了.我买的如图的这 ...
- 树莓派摄像头测距程序
焦距=像素*距离/实际宽度. 距离=实际宽度*焦距/像素 import cv2 import time from collections import deque import numpy as np ...
- 【树莓派笔记】树莓派摄像头的简单使用
1. 摄像头的安装 这里使用的是树莓派CSI (Camera Serial Interface)摄像头.引脚面朝micoHDMI接口处.关机后安装,热插拔可能无法检测到. 2. 启用摄像头 终端输入 ...
- 树莓派摄像头使用常用命令及代码
检测树莓派摄像头是否可用 raspistill -o image.jpg 2592*1944分辨率 直接在终端输入 raspistill 即可查看所有 raspistill的命令选项 间隔一定时间拍摄 ...
- 单目摄像头检测6D姿态
单目摄像头检测6D姿态 CVPR2019: ROI-10D: Monocular Lifting of 2D Detection to 6D Pose and Metric Shape 论文链接: h ...
- 如何安装树莓派摄像头
树莓派摄像头模块(Pi Cam)发售于2013年5月.其第一个发布版本配备了500万像素的传感器,通过排线链接树莓派上的CSI接口.而Pi Cam的第二个发布版本--也被叫做Pi NoIR中,配备了相 ...
最新文章
- android java.lang.IllegalArgumentException: Comparison method violates its general contract! 问题
- 2020 诺贝尔奖「第一棒」:英美三位科学家摘得桂冠!
- 测试分析设计工程方法
- 数组排序c语言函数_C语言如何写出返回数组最大最小值之差的函数(C primer plus 10-5)...
- 创新设计模式:单例模式
- java 哈希一致算法_一致哈希算法Java实现
- java调用php session_php读取memcahed java session
- C++函数概念解析(2)
- linux内存管理的主要概念是虚拟内存,你知道linux内存管理基础及方法?
- Diango博客--24.单元测试:测试评论应用
- 《阿里巴巴Java开发手册》发布一周年!你不知道的背后故事!
- ag 搜索工具参数详解
- 国内外物联网平台初探(篇二:阿里云物联网套件)
- 陀螺研究院 | 产业区块链发展周报(11.7—11.13)
- zuc算法代码详解_ZUC算法原理及实现过程
- Resource leak解决办法
- 史上最好看的电影你看过吗
- 堡垒机JumpServer(六):内网管理云端服务器
- 开放网络基金会(ONF)发布开放式创新渠道 开放网络迎来变革
- 上海浮生记——溜达出来的美食