opencv+python视频实时质心显示
利用opencv+python实现以下功能:
1)获取实时视频,分解帧频;
2)将视频做二值化处理;
3) 将视频做滤波处理(去除噪点,获取准确轮廓个数);
4)识别图像轮廓;
5)计算质心;
6)描绘质心动态变化曲线;
# -*- coding: utf-8 -*-
"""
Created on Thu Apr 24 12:10:23 2018 @author: irene
""" import numpy as np
import matplotlib.pyplot as plt
from scipy.interpolate import spline
import math as mt
import cv2 cap = cv2.VideoCapture('1.avi') #读入视频
c=1
plt.figure(figsize=(8,8),dpi=80)
aa =[]
bb =[]
cc =[]
#uing = np.logspace(-3,2,121)
while(cap.isOpened()):
ret, frame = cap.read()
#分解为一帧一帧图像
if ret == True:
#cv2.imshow("frame",image)
img=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY) #彩色转灰度
# print(frame)
ret,thresh= cv2.threshold(img,127,255,0) #二值化
image,contours,hierarchy = cv2.findContours(thresh, 3, 1)
img = cv2.medianBlur(image,5) #进行中值滤波 cnt = contours[1] #选取其中的第一个轮廓,这幅图像只有两个轮廓
M = cv2.moments(cnt)
cX=int(M["m10"]/M["m00"]) #计算质心
cY=int(M["m01"]/M["m00"]) cv2.drawContours(img,contours,-1,(0,255,0),2)
cv2.circle(img,(cX,cY),7,(255,255,255),-1)
cv2.putText(img,"",(cX-20,cY-20),
cv2.FONT_HERSHEY_SIMPLEX,0.5,(255,255,255),2) cv2.imshow("img",img)
cv2.imwrite('img/'+str(c) + '.jpg',frame) #存储为图像 # for u in uing:
aa.append(cX)
bb.append(cY)
cc.append(c)
# plt.plot(c,cX,'k-') #plt.plot(c,cX,color='red',linewidth=2.5,linestyle=':')
# plt.plot(c,cX,'k^')
#plt.plot(c,cY,'yo:')
c = c+1 else:
break
# cv2.imshow('frame',gray) #显示标记后的图像q if cv2.waitKey(1) & 0xFF == ord('q'):
break cap.release()
cv2.destroyAllWindows() c1=np.var(aa)
c2=np.var(bb) c1_1=c1/720*2.3*mt.pi/180
c1_2=c2/512*2.3*mt.pi/180 print(c1_1)
print(c1_2) plt.plot(cc,aa)
plt.show()
plt.plot(cc,bb)
plt.show()
opencv+python视频实时质心显示的更多相关文章
- openCV—Python(2)—— 载入、显示和保存图像
一.函数简单介绍 1.imread-读取图像 函数原型:imread(filename, flags=None) filename:读取的图像路径名:比如:"H:\img\lena.jpg& ...
- OpenCV Python 录制视频
调用摄像头 引入库支持 初始化 调整界面大小 实时显示 录制视频并保存 fourcc问题解决 代码实现 效果展示 总结 学到实用OpenCV调用笔记本电脑的摄像头,并录制视频保存到本地硬盘的时候,出现 ...
- OpenCV + python 实现人脸检测(基于照片和视频进行检测)
OpenCV + python 实现人脸检测(基于照片和视频进行检测) Haar-like 通俗的来讲,就是作为人脸特征即可. Haar特征值反映了图像的灰度变化情况.例如:脸部的一些特征能由矩形特征 ...
- OpenCV Python教程(3、直方图的计算与显示)
转载请详细注明原作者及出处,谢谢! 本篇文章介绍如何用OpenCV Python来计算直方图,并简略介绍用NumPy和Matplotlib计算和绘制直方图 直方图的背景知识.用途什么的就直接略过去了. ...
- EV录屏 --- 免费无水印,集视频录制与直播功能于一身的桌面录屏软件, 支持录屏涂鸦、实时按键显示、视频体积压缩等实用功能
https://www.ieway.cn/index.html 免费无水印,集视频录制与直播功能于一身的桌面录屏软件,支持录屏涂鸦.实时按键显示.视频体积压缩等实用功能 EVCapture 3.9.7 ...
- 基于OpenCV之视频读取,处理和显示框架的搭建(一)
主要包括以下内容: 1.使用的主要函数的说明. 2.两个实例:视频读取和显示.搭建视频读取和处理框架,调用canny函数提取边缘并显示. 3.一些注意事项和代码说明. 一.使用的主要函数 1.延时函数 ...
- 基于opencv将视频转化为字符串Java版
基于opencv将视频转化为字符串Java版 opencv java 先上一个效果图吧 首先,弄清一下原理 我们要将视频转化为字符画,那么就需要获取画面的每一帧,也就是每一张图片,然后将图片进行转化 ...
- opencv打开视频文件出错
使用C#调用mingw的so文件,在C++端使用opencv打开视频.这样的项目完成过了一个,第二次做的时候,发现opencv打开视频文件出错. 首先怀疑是opencv的opencv_ffmpeg24 ...
- OpenCV学习笔记(2)——如何用OpenCV处理视频
如何用OpenCV处理视频 读取视频文件,显示视频,保存视频文件 从摄像头获取并显示视频 1.用摄像头捕获视频 为了获取视频,需要创建一个VideoCapature对象.其参数可以是设备的索引号,也可 ...
随机推荐
- 配置 Tomcat 服务 和 自启动
如果我们使用war 包进行部署项目的时候,需要把包放进Tomcat的目录下,为了使我们的服务能够在服务器重启的时候自动启动起来,我们需要把Tomcat设置成自起服务. 配置 Tomcat 服务 新建服 ...
- codeforces 414D Mashmokh and Water Tanks
codeforces 414D Mashmokh and Water Tanks 题意 题解 \(a_i\):第 \(i\) 层的结点个数. \(b_i\):第 \(i\) 层初始有水的结点个数. 如 ...
- 4、集合set的功能介绍
集合是易变(可改变)和无序聚集.集合set支持迭代,很像无值(或仅有键的)字典,用花括号表示{}. 1.集合的创建: 可以通过调用内建函数set()来创建,及向其传递一个迭代,该迭代的项目成为形成 ...
- 【[SHOI2007]园丁的烦恼】
\(CDQ\) 分治的神奇操作 这个问题跟偏序问题好像差的不小啊 但是就是可以转化过去 对于一个查询我们可以把它拆成四个,也就是用二维前缀和的方式来查询 我们发现其实前缀和的定义就是多少个点的横纵坐标 ...
- [Python 网络编程] makefile (三)
socket.makefile(mode ='r',buffering = None,*,encoding = None,errors = None,newline = None )返回一个与套接字相 ...
- IIs和ftp
简单的说,FTP就是完成两台计算机之间的拷贝,从远程计算机拷贝文件至自己的计算机上,称之为“下载(download)”文件.若将文件从自己计算机中拷贝至远程计算机上,则称之为“上载(upload)”文 ...
- 关于python线程池threadpool
#coding=utf-8 import time import threadpool def wait_time(n): print('%d\n' % n) time.sleep(2) #在线程池中 ...
- 小程序采坑之setData
根据双向绑定当我setData的时候input的值应该改变,但是并没有.而且this.data中的值也没有改变 <input class="weui-input" bindi ...
- spring aop,静态及动态代理例子
@Aspect@Componentpublic class AopText { @Pointcut("execution(public * com.llf.service.*Service. ...
- 404 Note Found队-现场编程
目录 组员职责分工 github 的提交日志截图 程序运行截图 程序运行环境 GUI界面 基础功能实现 运行视频 LCG算法 过滤(降权)算法 算法思路 红黑树 附加功能一 背景 实现 附加功能二(迭 ...