如何用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新手在作用域方面经常容易碰到的问题
Apr 03 Python
python 处理dataframe中的时间字段方法
Apr 10 Python
python+pandas分析nginx日志的实例
Apr 28 Python
Django 使用Ajax进行前后台交互的示例讲解
May 28 Python
python爬取网页内容转换为PDF文件
Jul 28 Python
python调用pyaudio使用麦克风录制wav声音文件的教程
Jun 26 Python
Python捕获异常堆栈信息的几种方法(小结)
May 18 Python
python中setuptools的作用是什么
Jun 19 Python
python中用Scrapy实现定时爬虫的实例讲解
Jan 18 Python
python使用scapy模块实现ARP扫描的过程
Jan 21 Python
python 利用panda 实现列联表(交叉表)
Feb 06 Python
python for循环赋值问题
Jun 03 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
中东人咖啡哲学
2021/03/03 咖啡文化
PHP 网络开发详解之远程文件包含漏洞
2010/04/25 PHP
关于PHP结束标签的使用细节探讨及联想
2013/03/04 PHP
PHP遍历目录并返回统计目录大小
2014/06/09 PHP
PHP实现利用MySQL保存session的方法
2014/08/23 PHP
PHP性能优化大全(php.ini)
2016/05/20 PHP
php外部执行命令函数用法小结
2016/10/11 PHP
JAVASCRIPT对象及属性
2007/02/13 Javascript
各种常用浏览器getBoundingClientRect的解析
2009/05/21 Javascript
关于JavaScript中var声明变量作用域的推断
2010/12/16 Javascript
window.showModalDialog()返回值的学习心得总结
2014/01/07 Javascript
jquery实现带二级菜单的导航示例
2014/04/28 Javascript
javascript生成不重复的随机数
2015/07/17 Javascript
深入理解$.each和$(selector).each
2016/05/15 Javascript
Jquery调用iframe父页面中的元素及方法
2016/08/23 Javascript
vue2笔记 — vue-router路由懒加载的实现
2017/03/03 Javascript
微信小程序实现全局搜索代码高亮的示例
2018/03/30 Javascript
vue.js打包之后可能会遇到的坑!
2018/06/03 Javascript
Vue iview-admin框架二级菜单改为三级菜单的方法
2018/07/03 Javascript
Jquery属性的获取/设置及样式添加/删除操作技巧分析
2019/12/23 jQuery
Element-UI+Vue模式使用总结
2020/01/02 Javascript
vue配置多代理服务接口地址操作
2020/09/08 Javascript
VUE Elemen-ui之穿梭框使用方法详解
2021/01/19 Javascript
原生JavaScript实现留言板
2021/01/10 Javascript
python list语法学习(带例子)
2013/11/01 Python
Python中常见的数据类型小结
2015/08/29 Python
python 读取摄像头数据并保存的实例
2018/08/03 Python
解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题
2020/05/20 Python
利用python+request通过接口实现人员通行记录上传功能
2021/01/13 Python
应用化学专业本科生求职信
2013/09/29 职场文书
十八大报告观后感
2014/01/28 职场文书
贷款担保书范本
2015/09/22 职场文书
自定义函数实现单词排序并运用于PostgreSQL(实现代码)
2021/04/22 PostgreSQL
Golang全局变量加锁的问题解决
2021/05/08 Golang
Vue图片裁剪组件实例代码
2021/07/02 Vue.js
Java实现带图形界面的聊天程序
2022/06/10 Java/Android