如何用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常用的文件及文件路径、目录操作方法汇总介绍
May 21 Python
python连接字符串的方法小结
Jul 13 Python
python UNIX_TIMESTAMP时间处理方法分析
Apr 18 Python
python 捕获 shell/bash 脚本的输出结果实例
Jan 04 Python
python网络编程调用recv函数完整接收数据的三种方法
Mar 31 Python
Django接收post前端返回的json格式数据代码实现
Jul 31 Python
centos7之Python3.74安装教程
Aug 15 Python
解决python 3 urllib 没有 urlencode 属性的问题
Aug 22 Python
python同时替换多个字符串方法示例
Sep 17 Python
python实现简单坦克大战
Mar 27 Python
python Django 反向访问器的外键冲突解决
May 20 Python
Python OpenGL基本配置方式
May 20 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
php将图片文件转换成二进制输出的方法
2015/06/10 PHP
PHP实现动态执行代码的方法
2016/03/25 PHP
PHP的openssl加密扩展使用小结(推荐)
2016/07/18 PHP
javascript xml为数据源的下拉框控件
2009/07/07 Javascript
Array.prototype.concat不是通用方法反驳[译]
2012/09/20 Javascript
jQuery 选择表格(table)里的行和列及改变简单样式
2012/12/15 Javascript
jquery 无限级联菜单案例分享
2013/03/26 Javascript
javascript自动改变文字大小和颜色的效果的小例子
2013/08/02 Javascript
Javascript中浮点数相乘的一个解决方法
2014/06/03 Javascript
angular.foreach 循环方法使用指南
2015/01/06 Javascript
jQuery form插件的使用之处理server返回的JSON, XML,HTML数据
2016/01/26 Javascript
ES6记录异步函数的执行时间详解
2016/08/31 Javascript
Angular使用ng-messages与PHP进行表单数据验证
2016/12/28 Javascript
浅谈DOM的操作以及性能优化问题-重绘重排
2017/01/08 Javascript
node.js中express-session配置项详解
2017/05/31 Javascript
Ionic2开发环境搭建教程
2020/08/20 Javascript
Swiper实现轮播图效果
2017/07/03 Javascript
jquery获取transform里的值实现方法
2017/12/12 jQuery
玩转Koa之koa-router原理解析
2018/12/29 Javascript
jQuery Ajax async=>false异步改为同步时,解决导致浏览器假死的问题
2019/07/22 jQuery
layui实现tab的添加拒绝重复的方法
2019/09/04 Javascript
vue 使用v-for进行循环的实例代码详解
2020/02/19 Javascript
如何用itertools解决无序排列组合的问题
2017/05/18 Python
python中利用zfill方法自动给数字前面补0
2018/04/10 Python
Python自定义函数计算给定日期是该年第几天的方法示例
2019/05/30 Python
在PYQT5中QscrollArea(滚动条)的使用方法
2019/06/14 Python
详解Python中的正斜杠与反斜杠
2019/08/09 Python
CSS3 box-sizing属性详解
2016/11/15 HTML / CSS
凯撒娱乐:Caesars Entertainment
2018/02/23 全球购物
Laravel的加密解密与哈希实例讲解
2021/03/24 PHP
高中军训感言400字
2014/02/24 职场文书
安全温馨提示语大全
2015/07/14 职场文书
2015质检员个人年终工作总结
2015/10/23 职场文书
解决MySQL添加新用户-ERROR 1045 (28000)的问题
2022/03/03 MySQL
Python中非常使用的6种基本变量的操作与技巧
2022/03/22 Python
CKAD认证中部署k8s并配置Calico插件
2022/03/31 Servers