用python实现智能监控
用python实现智能监控
- 实现效果
- 程序编写(总程序)
- 应用场景
实现效果
当运行程序后,打开摄像头(自配、外接摄像头),重复对摄像头拍摄的场景进行人脸识别。人脸识别通过Python库中openCV / cv2 库进行摄像头调用,通过python(官网)里已经训练好的人脸抓取数据库。
当识别到人脸后,程序自动将有人脸片段剪辑成连续视频,生成视频后将其保存至特定文件夹,可在任何时间查看。
(流程图)
程序编写
先同过www.python.org与cmd安装cv2库(先要装pip和wheel)
(cv2正确安装cmd指示)
确认安装后进行主程序编写。(主程序已上传)
- 导入/初始化
导入cv2库与人脸识别数据库。直接在编辑器上导入库,导入数据库网站。初始化摄像头与各库,初始化输出。
import cv2
#导入cv2
face_cascade = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")
cap = cv2.VideoCapture(0)
width = int(cap.get(3))
heiht = int(cap.get(4))
out = cv2.VideoWriter("recording2.mp4", cv2.VideoWriter_fourcc("D", "I", "V", "X"),10, (width, heiht))
#初始化cv2
- 定义人脸识别,剪辑
将有人脸的画面作明显框选标注(设置框的x,y坐标)当有人脸画面明显框选标注的话面出现时,进行视频剪辑(重复识别剪辑直到程序结束)
while True:ret, img = cap.read()gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)faces = face_cascade.detectMultiScale(gray, 1.3, 5)#灰度for (x, y, w, h) in faces:cv2.rectangle(img, (x,y), (x+w, y+h), (0, 255, 255), 2)#设置脸部框选的x,y坐标out.write(img)
- 导出
导出视频至特定文件夹,设置关闭程序
cv2.imshow("Face Detection2", img)#导出视频k = cv2.waitKey(30) & 0xffif k == 27:break#设置关闭程序
cap.release()
out.release()
cv2.destroyAllWindows()
总程序
import cv2
face_cascade = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")
cap = cv2.VideoCapture(0)
width = int(cap.get(3))
heiht = int(cap.get(4))
out = cv2.VideoWriter("recording2.mp4", cv2.VideoWriter_fourcc("D", "I", "V", "X"),10, (width, heiht))
while True:ret, img = cap.read()gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)faces = face_cascade.detectMultiScale(gray, 1.3, 5)for (x, y, w, h) in faces:cv2.rectangle(img, (x,y), (x+w, y+h), (0, 255, 255), 2)out.write(img)cv2.imshow("Face Detection2", img)k = cv2.waitKey(30) & 0xffif k == 27:break
cap.release()
out.release()
cv2.destroyAllWindows()
引用场景
在生活中,可将此程序烧入外接摄像头中,对生活安全作实时监控。即使外出,回家后仍可通过系统储存的有人脸(关键信息)的监控视频。
本程序完成点
- 人脸检测
- 输出 “重要信息” 视频
- 客户自主训练(未完成)
- 复杂视角检测失败(未解决)
此程序还在编写,主要解决外接摄像头大角度俯视、仰视、斜视等人脸检测失败等问题。
后如有时间还会编写用户自主训练摄像头识别其它 “重要信息”
用python实现智能监控相关推荐
- 【物联网实训项目】------(五)家庭智慧安防系统之智能监控
1.所需材料:人体感应模块.蜂鸣器以及树莓派摄像头 人体感应模块接线:中间数据引脚接的是pin12,剩下两 ...
- python 3d库 机房监控_三维可视化机房智能监控系统
三维可视化机房智能监控系统 随着计算机技术的迅速发展, 数字交换技术的日新月异, 计算机通信已经深入到社会生活并 对社会经济的发展起着决定性的作用, 而在这其中计算机机房数据中心作为载体更是整体生态链 ...
- #研发解决方案介绍#基于StatsD+Graphite的智能监控解决方案
2019独角兽企业重金招聘Python工程师标准>>> 关键词: 监控 .dashboard.PHP.graphite.statsd.whisper.carbon.grafana.i ...
- 看我如何基于PythonFacepp打造智能监控系统
由于种种原因,最近想亲自做一个基于python&facepp打造的智能监控系统. 0×00:萌芽 1:暑假在家很无聊 想出去玩,找不到人.玩个lol(已卸载),老是坑人.实在是无聊至极,不过, ...
- 怎么把python添加到path_如何将python的路径加到path中
1.说明: windows下设置pythonesult_sl_iot_Atmosphere" href= "https://www.aliyun.com/solution/iot/ ...
- python智慧城市_智慧城市背景下Python机器学习项目实战案例分享
首先,何为智慧城市?智慧城市的"智慧"源自何处? 智慧城市的特征在于运用大数据和数字技术提高居民生活质量. 机构获得的数据越全面.越实时,它们就越有能力观测事件发生的详情.分析需求 ...
- win7python怎么设置环境变量_如何在win7下设置python的环境变量
工具/原料 win7 方法/步骤 右键计算机,选择属性. 环境变量"> 点高级系统设置--环境变量. 在系统变量中双击Path. 输入变量名及变量值,点确定. win+r打开运行,输入 ...
- python实现hbase增删改查
一.hbase shell创建命名空间 hbase shell create_namespace "gofish" 二.python实现hbase增删改查 # -*- coding ...
- 用 Python 制作家用防盗工具
本文来自读者投稿 简介:利用python调用摄像头截图功能,在镜头发生变化时进行截图,并通过ichat远程发送,实现远程报警功能. 整体思路:先用cv2函数调用电脑的摄像头,开启截图功能,再通过cv2 ...
最新文章
- JS---设计简易日历
- 十年架构师详解,Spring-IoC容器装配Bean
- c++Selection Sort选择排序的实现算法(附完整源码)
- Server.UrlEncode、HttpUtility.UrlDecode不同编码
- 钉钉关键字回复功能_在家办公首日:钉钉、企业微信集体“崩溃”,只能选择 QQ、微信...
- 丁仲礼院士回应被美国制裁:我反正不去美国,也没有美元账户,就一次公益捐赠被拦截了...
- cocos2dx打飞机项目笔记二:BulletLayer类
- 阅读下面程序,请回答如下问题:
- python的dropna 和notna的性能_python轻松滤除缺失数据
- LabVIEW 2011中文版下载及工具包下载
- 基于Pairwise排序学习的因子分解推荐算法
- 有关气象数据资料下载网址
- hdu 2072 单词数(C语言)
- sql server 简单应用
- 阿里云ECS主机部署LAMP环境
- 全网最详细的Transformer的源码解读
- 服务器中了挖矿病毒的检测及删除方法
- 【解决问题】The bean ‘admin-service.FeignClientSpecification‘ could not be registered.
- VSM测试粉末样品制样
- 原生JavaScript实现 城市二级三级联动
热门文章
- require(‘inquirer‘)报错
- SpringBoot运行主程序报错:No subdirectories found for mandatory directory location ‘file:./config/*/‘.
- iOS-使用Masonry布局不能立即获取到frame
- python联网斗地主_Python斗地主
- 《游戏学习》 java经典纸牌类小游戏《斗地主》源码
- 机器学习 day5 day6 分类问题实战:判断是否为羊毛党
- CSS基础:CSS的上下文之层叠上下文
- 工业大数据漫谈3:什么是工业大数据?
- 华硕B85主板刷nvme协议全过程
- ABB机器人的程序结构与模块属性