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基础while循环及if判断的实例讲解
Aug 25 Python
对Python字符串中的换行符和制表符介绍
May 03 Python
python如何创建TCP服务端和客户端
Aug 26 Python
详解Python匿名函数(lambda函数)
Apr 19 Python
Python3.5局部变量与全局变量作用域实例分析
Apr 30 Python
Python3.0中普通方法、类方法和静态方法的比较
May 03 Python
Python实现的爬取百度贴吧图片功能完整示例
May 10 Python
Python调用百度根据经纬度查询地址的示例代码
Jul 07 Python
python如何删除列为空的行
Jul 17 Python
浅谈python锁与死锁问题
Aug 14 Python
python之随机数函数的实现示例
Dec 30 Python
Python之基础函数案例详解
Aug 30 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
用PHP获取Google AJAX Search API 数据的代码
2010/03/12 PHP
PHP实现XML与数据格式进行转换类实例
2015/07/29 PHP
纯PHP代码实现支付宝批量付款
2015/12/24 PHP
php无限级评论嵌套实现代码
2018/04/18 PHP
javascript基本语法分析说明
2008/06/15 Javascript
Javascript 变量作用域 两个可能会被忽略的小特性
2010/03/23 Javascript
利用javascript解决图片缩放及其优化的代码
2012/05/23 Javascript
网页源代码保护(禁止右键、复制、另存为、查看源文件)
2012/05/23 Javascript
iframe子父页面调用js函数示例
2013/11/07 Javascript
jquery showModelDialog的使用方法示例详解
2013/11/19 Javascript
js和css写一个可以自动隐藏的悬浮框
2014/03/05 Javascript
jQuery实现切换字体大小的方法
2015/03/10 Javascript
js闭包实现按秒计数
2015/04/23 Javascript
利用js编写响应式侧边栏
2016/09/17 Javascript
jQuery 实现鼠标画框并对框内数据选中的实例代码
2017/08/29 jQuery
vue模块拖拽实现示例代码
2019/03/09 Javascript
深入理解es6块级作用域的使用
2019/03/28 Javascript
js实现鼠标拖拽div左右滑动
2020/01/15 Javascript
JavaScript实现拖拽功能
2020/02/11 Javascript
jquery轮播图插件使用方法详解
2020/07/31 jQuery
Python的Flask框架的简介和安装方法
2015/11/13 Python
python对json的相关操作实例详解
2017/01/04 Python
selenium+python实现1688网站验证码图片的截取功能
2018/08/14 Python
python高效过滤出文件夹下指定文件名结尾的文件实例
2018/10/21 Python
Python单元测试unittest的具体使用示例
2018/12/17 Python
python 应用之Pycharm 新建模板默认添加编码格式-作者-时间等信息【推荐】
2019/06/17 Python
Python实现检测文件的MD5值来查找重复文件案例
2020/03/12 Python
浅谈Python中的字符串
2020/06/10 Python
Holiday Inn中国官网:IHG旗下假日酒店预订
2018/04/08 全球购物
用C#语言写出与SQLSERVER访问时的具体过程
2013/04/16 面试题
会计学毕业生求职信
2014/06/25 职场文书
小学生纪念九一八事变演讲稿
2014/09/14 职场文书
汤姆叔叔的小屋读书笔记
2015/06/30 职场文书
宝宝满月祝酒词
2015/08/10 职场文书
2015年国庆放假通知范文
2015/08/18 职场文书
Go语言测试库testify使用学习
2022/07/23 Golang