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中的exec、eval使用实例
Sep 23 Python
在Docker上开始部署Python应用的教程
Apr 17 Python
Python3搜索及替换文件中文本的方法
May 22 Python
python实现批量改文件名称的方法
May 25 Python
在Python的Django框架的视图中使用Session的方法
Jul 23 Python
python中matplotlib的颜色及线条控制的示例
Mar 16 Python
如何在django里上传csv文件并进行入库处理的方法
Jan 02 Python
深入解析Python小白学习【操作列表】
Mar 23 Python
python3.6使用tkinter实现弹跳小球游戏
May 09 Python
numpy.where() 用法详解
May 27 Python
python为什么要安装到c盘
Jul 20 Python
python判断变量是否为列表的方法
Sep 17 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
《APMServ 5.1.2》使用图解
2006/10/23 PHP
phpexcel导出excel的颜色和网页中的颜色显示不一致
2012/12/11 PHP
php自动识别文件编码并转换为UTF-8的方法
2014/06/12 PHP
PHP长连接实现与使用方法详解
2018/02/11 PHP
laravel实现按月或天或小时统计mysql数据的方法
2019/10/09 PHP
经常用的图片在容器中的水平垂直居中实例
2007/06/10 Javascript
JavaScript中圆括号()和方括号[]的特殊用法疑问解答
2013/08/06 Javascript
JavaScript创建对象的写法
2013/08/29 Javascript
nodejs教程之环境安装及运行
2014/11/21 NodeJs
JavaScript中的原始值和复杂值
2016/01/07 Javascript
使用jQuery制作浮动工具栏的实例分享
2016/05/13 Javascript
jQuery Mobile操作HTML5的常用函数总结
2016/05/17 Javascript
jQuery插件扩展实例【添加回调函数】
2016/11/26 Javascript
javascript实现将数字转成千分位的方法小结【5种方式】
2016/12/11 Javascript
BootStrap的select2既可以查询又可以输入的实现代码
2017/02/17 Javascript
vue实现下拉加载其实没那么复杂
2019/08/13 Javascript
[01:33]DOTA2上海特级锦标赛 LIQUID战队完整宣传片
2016/03/16 DOTA
Python selenium 三种等待方式详解(必会)
2016/09/15 Python
Python数据结构之单链表详解
2017/09/12 Python
Python enumerate索引迭代代码解析
2018/01/19 Python
python获取微信小程序手机号并绑定遇到的坑
2018/11/19 Python
django框架auth模块用法实例详解
2019/12/10 Python
Python控制台输出时刷新当前行内容而不是输出新行的实现
2020/02/21 Python
Python 跨.py文件调用自定义函数说明
2020/06/01 Python
如何用python免费看美剧
2020/08/11 Python
sqlalchemy实现时间列自动更新教程
2020/09/02 Python
HTML5 canvas基本绘图之绘制阴影效果
2016/06/27 HTML / CSS
html5通过canvas实现刮刮卡效果示例分享
2014/01/27 HTML / CSS
StudentUniverse英国:学生航班、酒店和旅游
2019/08/25 全球购物
在校生党员自我评价
2013/09/25 职场文书
迎新春趣味活动方案
2014/08/24 职场文书
物价局领导班子四风问题整改措施
2014/10/26 职场文书
工厂门卫岗位职责
2015/04/13 职场文书
银行柜员优质服务心得体会
2016/01/22 职场文书
Django如何创作一个简单的最小程序
2021/05/12 Python
python geopandas读取、创建shapefile文件的方法
2021/06/29 Python