python opencv实现运动检测


Posted in Python onJuly 10, 2018

本文实例为大家分享了python opencv运动检测的具体代码,供大家参考,具体内容如下

# -*- coding:utf-8 -*-
__author__ = 'kingking'
__version__ = '1.0'
__date__ = '14/07/2017'
import cv2
import numpy as np
import time
 
camera = cv2.VideoCapture(0) # 参数0表示第一个摄像头
# 判断视频是否打开
if (camera.isOpened()):
  print('Open')
else:
  print('摄像头未打开')
background = cv2.imread('img.png',0)#读入一幅图像
es = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (9, 4))
while True:
  # 按'q'健退出循环
  key = cv2.waitKey(1) & 0xFF
  # 读取视频流
  grabbed, img = camera.read()
  gray1 = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
  gray = cv2.GaussianBlur(gray1, (21, 21), 0)#可在这添加处理程序
  #!!!等相机稳定后按下W选择背景
  if key == ord('w'):
    background = gray
    print '背景已选定'
  diff = cv2.absdiff(gray, background)
  binary = cv2.threshold(diff, 25, 255, cv2.THRESH_BINARY)[1]#二值化阈值处理
  dilation = cv2.dilate(binary, es, iterations=2) # 形态学膨胀<--可在这添加处理程序
  contours, hierarchy = cv2.findContours(dilation.copy(), cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
  for c in contours:
    # 对于矩形区域,只显示大于给定阈值的轮廓,所以一些微小的变化不会显示。
    if cv2.contourArea(c) < 1500: 
      continue
    (x, y, w, h) = cv2.boundingRect(c) # 该函数计算矩形的边界框
    cv2.rectangle(img, (x, y), (x+w, y+h), (0, 255, 0), 2)
  cv2.imshow('img', img)
  cv2.imshow('dilation', dilation)
 
  if key == ord('q'):
    break
camera.release()#ubuntu一定要释放相机资源否则要重启才能再次使用
cv2.destroyAllWindows()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python ElementTree 基本读操作示例
Apr 09 Python
【Python】Python的urllib模块、urllib2模块批量进行网页下载文件
Nov 19 Python
python用户管理系统的实例讲解
Dec 23 Python
centos6.8安装python3.7无法import _ssl的解决方法
Sep 17 Python
idea创建springMVC框架和配置小文件的教程图解
Sep 18 Python
Python判断有效的数独算法示例
Feb 23 Python
Python 一键获取百度网盘提取码的方法
Aug 01 Python
python 实现二维列表转置
Dec 02 Python
python脚本后台执行方式
Dec 21 Python
基于pycharm实现批量修改变量名
Jun 02 Python
如何在python中判断变量的类型
Jul 29 Python
python 如何将两个实数矩阵合并为一个复数矩阵
May 19 Python
python中单下划线_的常见用法总结
Jul 10 #Python
浅谈dataframe中更改列属性的方法
Jul 10 #Python
对python sklearn one-hot编码详解
Jul 10 #Python
python的scikit-learn将特征转成one-hot特征的方法
Jul 10 #Python
pandas使用get_dummies进行one-hot编码的方法
Jul 10 #Python
详解python中的装饰器
Jul 10 #Python
pandas值替换方法
Jul 10 #Python
You might like
第十节 抽象方法和抽象类 [10]
2006/10/09 PHP
PHP令牌 Token改进版
2008/07/18 PHP
php获取ip及网址的简单方法(必看)
2017/04/01 PHP
浅谈php的TS和NTS的区别
2019/03/13 PHP
PHP实现一个按钮点击上传多个图片操作示例
2020/01/23 PHP
javascript的函数、创建对象、封装、属性和方法、继承
2011/03/10 Javascript
用js来定义浏览器中一个左右浮动元素相对于页面主体宽度的位置的函数
2012/01/21 Javascript
JQuery为页面Dom元素绑定事件及解除绑定方法
2014/04/23 Javascript
JS的encodeURI和java的URLDecoder.decode使用介绍
2014/05/08 Javascript
json实现前后台的相互传值详解
2015/01/05 Javascript
javascript基于DOM实现权限选择实例分析
2015/05/14 Javascript
dedecms页面如何获取会员状态的实例代码
2016/03/15 Javascript
a标签置灰不可点击的实现方法
2017/02/06 Javascript
简单的vue-resourse获取json并应用到模板示例
2017/02/10 Javascript
AngularJS实现注册表单验证功能
2017/10/16 Javascript
jQuery实现右侧抽屉式在线客服功能
2017/12/25 jQuery
React事件处理的机制及原理
2018/12/03 Javascript
axios携带cookie配置详解(axios+koa)
2018/12/28 Javascript
jQuery Ajax async=&gt;false异步改为同步时,解决导致浏览器假死的问题
2019/07/22 jQuery
小程序自定义模板实现吸顶功能
2020/01/08 Javascript
python3+PyQt5实现自定义流体混合窗口部件
2018/04/24 Python
Python发送邮件功能示例【使用QQ邮箱】
2018/12/04 Python
python django中8000端口被占用的解决
2019/12/17 Python
Python各种扩展名区别点整理
2020/02/27 Python
Python如何实现远程方法调用
2020/08/07 Python
Ralph Lauren法国官网:美国高品味时装品牌
2017/12/08 全球购物
MediaMarkt比利时:欧洲最大电器连锁店
2020/12/21 全球购物
幼师专业求职推荐信
2013/11/08 职场文书
军校本科大学生自我评价
2014/01/14 职场文书
新学期教师寄语
2014/04/02 职场文书
公证书样本
2014/04/10 职场文书
同居协议书范本
2014/04/23 职场文书
教师民族团结演讲稿
2014/08/27 职场文书
开学典礼校长致辞
2015/07/29 职场文书
祝福语集锦:朋友新店开业祝福语
2019/12/10 职场文书
Mysql服务添加 iptables防火墙策略的方案
2021/04/29 MySQL