前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python+摄像头:极简实现画面变化监测

python+摄像头:极简实现画面变化监测

作者头像
efonfighting
发布2019-09-24 15:01:07
3.7K0
发布2019-09-24 15:01:07
举报
文章被收录于专栏:一番码客

一番码客 : 挖掘你关心的亮点。 http://efonfighting.imwork.net

现在很多网络摄像头都有防盗报警了,简单讲就是家里本来没有人,但摄像头却发现家里有动静,好,发个消息给主人,赶紧打开摄像头app,看下家里是什么在动。当我们想通过摄像头做一个工具,代替人眼的重复劳动,观察一个画面什么时候动了的时候,并且最好动的时候把动的画面抓下来,这时一番想到了操作极简的python。下面我们就来用python和摄像头做一个可以实现监控画面变化的小程序。

需求分析

这个小程序要做到如下功能:

  • 当摄像头拍摄的画面变化时,拍摄变化前后的两张图,以供分析变化前后的状态。
  • 极快(肉眼可见的一闪而过,10ms级别)的变化也能捕捉到。

功能实现

基本思路

  1. 打开摄像头,不断读取摄像头图片,对比相邻两张图片对应像素点的RGB颜色数据任意一个颜色的差异;
  2. 像素点颜色数据差异大于某一阈值(需要考虑噪点波动),认为是一个有效的变化像素点;
  3. 当变化像素点数量大于整幅画面的一定比例(比例大小的设定,可以用来设定检测画面变化的灵敏度)时,认为前后两张画面有变化,保存这两张图片。
  4. 为了检测极快的画面变化,需要加快读图、处理数据的速度,因此考虑隔几点取一个点来运算,减少运算量,加快图片处理速度。

代码实现

一番看了下,整个功能的实现58行,还包含一些格式的空行,可谓极简。python真香。

当然,语法调试,参数调试,还是要花点时间的。

代码如下(公众号后台发送 "摄像头" 获取源码文本)。

免费知识星球: 一番码客-积累交流 微信公众号:一番码客 微信:Efon-fighting 网站:http://efonfighting.imwork.net

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一番码客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 需求分析
  • 功能实现
    • 基本思路
      • 代码实现
      相关产品与服务
      云开发 CloudBase
      云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档