用python实现智能监控

  • 实现效果
  • 程序编写(总程序)
  • 应用场景

实现效果

当运行程序后,打开摄像头(自配、外接摄像头),重复对摄像头拍摄的场景进行人脸识别。人脸识别通过Python库中openCV / cv2 库进行摄像头调用,通过python(官网)里已经训练好的人脸抓取数据库。

当识别到人脸后,程序自动将有人脸片段剪辑成连续视频,生成视频后将其保存至特定文件夹,可在任何时间查看。

(流程图)

程序编写

先同过www.python.org与cmd安装cv2库(先要装pip和wheel)
(cv2正确安装cmd指示)
确认安装后进行主程序编写。(主程序已上传)

  1. 导入/初始化
    导入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
  1. 定义人脸识别,剪辑
    将有人脸的画面作明显框选标注(设置框的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)
  1. 导出
    导出视频至特定文件夹,设置关闭程序
    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. 【物联网实训项目】------(五)家庭智慧安防系统之智能监控

    1.所需材料:人体感应模块.蜂鸣器以及树莓派摄像头                                                人体感应模块接线:中间数据引脚接的是pin12,剩下两 ...

  2. python 3d库 机房监控_三维可视化机房智能监控系统

    三维可视化机房智能监控系统 随着计算机技术的迅速发展, 数字交换技术的日新月异, 计算机通信已经深入到社会生活并 对社会经济的发展起着决定性的作用, 而在这其中计算机机房数据中心作为载体更是整体生态链 ...

  3. #研发解决方案介绍#基于StatsD+Graphite的智能监控解决方案

    2019独角兽企业重金招聘Python工程师标准>>> 关键词: 监控 .dashboard.PHP.graphite.statsd.whisper.carbon.grafana.i ...

  4. 看我如何基于PythonFacepp打造智能监控系统

    由于种种原因,最近想亲自做一个基于python&facepp打造的智能监控系统. 0×00:萌芽 1:暑假在家很无聊 想出去玩,找不到人.玩个lol(已卸载),老是坑人.实在是无聊至极,不过, ...

  5. 怎么把python添加到path_如何将python的路径加到path中

    1.说明: windows下设置pythonesult_sl_iot_Atmosphere" href= "https://www.aliyun.com/solution/iot/ ...

  6. python智慧城市_智慧城市背景下Python机器学习项目实战案例分享

    首先,何为智慧城市?智慧城市的"智慧"源自何处? 智慧城市的特征在于运用大数据和数字技术提高居民生活质量. 机构获得的数据越全面.越实时,它们就越有能力观测事件发生的详情.分析需求 ...

  7. win7python怎么设置环境变量_如何在win7下设置python的环境变量

    工具/原料 win7 方法/步骤 右键计算机,选择属性. 环境变量"> 点高级系统设置--环境变量. 在系统变量中双击Path. 输入变量名及变量值,点确定. win+r打开运行,输入 ...

  8. python实现hbase增删改查

    一.hbase shell创建命名空间 hbase shell create_namespace "gofish" 二.python实现hbase增删改查 # -*- coding ...

  9. 用 Python 制作家用防盗工具

    本文来自读者投稿 简介:利用python调用摄像头截图功能,在镜头发生变化时进行截图,并通过ichat远程发送,实现远程报警功能. 整体思路:先用cv2函数调用电脑的摄像头,开启截图功能,再通过cv2 ...

最新文章

  1. JS---设计简易日历
  2. 十年架构师详解,Spring-IoC容器装配Bean
  3. c++Selection Sort选择排序的实现算法(附完整源码)
  4. Server.UrlEncode、HttpUtility.UrlDecode不同编码
  5. 钉钉关键字回复功能_在家办公首日:钉钉、企业微信集体“崩溃”,只能选择 QQ、微信...
  6. 丁仲礼院士回应被美国制裁:我反正不去美国,也没有美元账户,就一次公益捐赠被拦截了...
  7. cocos2dx打飞机项目笔记二:BulletLayer类
  8. 阅读下面程序,请回答如下问题:
  9. python的dropna 和notna的性能_python轻松滤除缺失数据
  10. LabVIEW 2011中文版下载及工具包下载
  11. 基于Pairwise排序学习的因子分解推荐算法
  12. 有关气象数据资料下载网址
  13. hdu 2072 单词数(C语言)
  14. sql server 简单应用
  15. 阿里云ECS主机部署LAMP环境
  16. 全网最详细的Transformer的源码解读
  17. 服务器中了挖矿病毒的检测及删除方法
  18. 【解决问题】The bean ‘admin-service.FeignClientSpecification‘ could not be registered.
  19. VSM测试粉末样品制样
  20. 原生JavaScript实现 城市二级三级联动

热门文章

  1. require(‘inquirer‘)报错
  2. SpringBoot运行主程序报错:No subdirectories found for mandatory directory location ‘file:./config/*/‘.
  3. iOS-使用Masonry布局不能立即获取到frame
  4. python联网斗地主_Python斗地主
  5. 《游戏学习》 java经典纸牌类小游戏《斗地主》源码
  6. 机器学习 day5 day6 分类问题实战:判断是否为羊毛党
  7. CSS基础:CSS的上下文之层叠上下文
  8. 工业大数据漫谈3:什么是工业大数据?
  9. 华硕B85主板刷nvme协议全过程
  10. ABB机器人的程序结构与模块属性