如何用OpenCV -python3实现视频物体追踪


Posted in Python onDecember 04, 2019

opencv

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python、Java and MATLAB/OCTAVE(版本2.5)的接口。这些语言的API接口函数可以通过在线文档获得。如今也提供对于C#、Ch、Ruby,GO的支持。

所有新的开发和算法都是用C++接口。一个使用CUDA的GPU接口也于2010年9月开始实现。

import numpy as np
import cv2
cap =cv2.VideoCapture(0)
while(1):
  #获取每一帧
  ret,frame = cap.read()
  #RGB转换到HSV
  hsv = cv2.cvtColor(frame,cv2.COLOR_BGR2HSV)
  #设定蓝色的阈值。确定要追踪的颜色为蓝色。
  lower_blue = np.array([100,50,50])
  upper_blue = np.array([120,255,255])
  #根据阈值构建掩模,构建黑白图
  #hsv:原图
  #lower_blue:图像中低于这个lower_blue的值,图像值变为0,即黑色
  #upper_blue:图像中高于这个upper_blue的值,图像值变为0
  #而在lower_blue~upper_blue之间的值变成255,即白色。
  mask = cv2.inRange(hsv,lower_blue,upper_blue)
  #对原图像和掩模进行位运算
  #蓝色覆盖白色区域,黑色不覆盖,实现了白色转化为要追踪的蓝色,也就是追踪效果。
  res = cv2.bitwise_and(frame,frame,mask=mask)
  #显示图像
  cv2.imshow('frame',frame)
  cv2.imshow('mask',mask)
  cv2.imshow('res',res)
  k = cv2.waitKey(5)& 0xFF
  if k==27:
    break
#关闭窗口
cv2.destroyAllWindows()

关于颜色阈值图(百度)。

如何用OpenCV -python3实现视频物体追踪

结果如下图所示。

如何用OpenCV -python3实现视频物体追踪

总结

以上所述是小编给大家介绍的如何用OpenCV -python3实现视频物体追踪,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Python编码时应该注意的几个情况
Mar 04 Python
python基于phantomjs实现导入图片
May 13 Python
python 排序算法总结及实例详解
Sep 28 Python
python正则表达式的使用
Jun 12 Python
Windows系统下多版本pip的共存问题详解
Oct 10 Python
python找出一个列表中相同元素的多个索引实例
Jun 11 Python
python 中pyqt5 树节点点击实现多窗口切换问题
Jul 04 Python
Python搭建代理IP池实现存储IP的方法
Oct 27 Python
使用Tkinter制作信息提示框
Feb 18 Python
使用Python将图片转正方形的两种方法实例代码详解
Apr 29 Python
Python3爬虫中Selenium的用法详解
Jul 10 Python
PyTorch的Debug指南
May 07 Python
Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子
Dec 04 #Python
python 画函数曲线示例
Dec 04 #Python
python二元表达式用法
Dec 04 #Python
python numpy 反转 reverse示例
Dec 04 #Python
python将四元数变换为旋转矩阵的实例
Dec 04 #Python
python 和c++实现旋转矩阵到欧拉角的变换方式
Dec 04 #Python
python实现一个点绕另一个点旋转后的坐标
Dec 04 #Python
You might like
异世界新番又来了,同样是从零开始,男主的年龄降到5岁
2020/04/09 日漫
PHP自动生成月历代码
2006/10/09 PHP
php小型企业库存管理系统的设计与实现代码
2011/05/16 PHP
PHP测试程序运行时间的类
2012/02/05 PHP
php数组转换js数组操作及json_encode的用法详解
2013/10/26 PHP
ThinkPHP采用原生query实现关联查询left join实例
2014/12/02 PHP
PHP使用strstr()函数获取指定字符串后所有字符的方法
2016/01/07 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
jQuery的deferred对象使用详解
2011/08/20 Javascript
JavaScript Memoization 让函数也有记忆功能
2011/10/27 Javascript
addEventListener和attachEvent二者绑定的执行函数中的this不相同
2012/12/09 Javascript
JS修改css样式style浅谈
2013/05/06 Javascript
用于deeplink的js方法(判断手机是否安装app)
2014/04/02 Javascript
node+express+jade制作简单网站指南
2014/11/26 Javascript
JS实现弹性菜单效果代码
2015/09/07 Javascript
angularjs实现过滤并替换关键字小功能
2017/09/19 Javascript
JS中‘hello’与new String(‘hello’)引出的问题详解
2018/08/14 Javascript
vue服务端渲染页面缓存和组件缓存的实例详解
2018/09/18 Javascript
python根据出生日期返回年龄的方法
2015/03/26 Python
Python使用django获取用户IP地址的方法
2015/05/11 Python
TensorFlow在MAC环境下的安装及环境搭建
2017/11/14 Python
Python3使用正则表达式爬取内涵段子示例
2018/04/22 Python
python爬虫URL重试机制的实现方法(python2.7以及python3.5)
2018/12/18 Python
Python检查ping终端的方法
2019/01/26 Python
python使用原始套接字发送二层包(链路层帧)的方法
2019/07/22 Python
python调用接口的4种方式代码实例
2019/11/19 Python
Python 基于FIR实现Hilbert滤波器求信号包络详解
2020/02/26 Python
Python正则表达式学习小例子
2020/03/03 Python
新西兰第一的行李箱网站:luggage.co.nz
2019/07/22 全球购物
Overload和Override的区别
2012/09/02 面试题
亲子拓展活动方案
2014/02/20 职场文书
cf收人广告词
2014/03/14 职场文书
教师批评与自我批评总结
2014/10/16 职场文书
财务部岗位职责范本
2015/04/14 职场文书
详解Python中的进程和线程
2021/06/23 Python
CSS变量实现主题切换的方法
2021/06/23 HTML / CSS