----------欢迎加入学习交流QQ群:657341423


读取视频并将视频每帧的图像写入到新的视频文件

import cv2
vc = cv2.VideoCapture('aa.wmv')
# 设置每秒传输帧数
fps = vc.get(cv2.CAP_PROP_FPS)
# 获取视频的大小
size = (int(vc.get(cv2.CAP_PROP_FRAME_WIDTH)),int(vc.get(cv2.CAP_PROP_FRAME_HEIGHT)))
# 生成一个空的视频文件
# 视频编码类型
# cv2.VideoWriter_fourcc('X','V','I','D') MPEG-4 编码类型
# cv2.VideoWriter_fourcc('I','4','2','0') YUY编码类型
# cv2.VideoWriter_fourcc('P','I','M','I') MPEG-1 编码类型
# cv2.VideoWriter_fourcc('T','H','E','O') Ogg Vorbis类型,文件名为.ogv
# cv2.VideoWriter_fourcc('F','L','V','1') Flask视频,文件名为.flv
vw = cv2.VideoWriter('mya.avi',cv2.VideoWriter_fourcc('X','V','I','D'), fps, size)
# 读取视频第一帧的内容
success, frame = vc.read()
while success:# frame = cv2.flip(frame, 2) # 反转视频画面# 写入视频vw.write(frame)# 读取视频下一帧的内容success, frame = vc.read()
print('a')

开启摄像头并捕捉摄像头10秒的视频信息

import cv2
# 获取摄像头
cameraCapture = cv2.VideoCapture(0)
# 设置每秒传输帧数
fps = 30
size = (int(cameraCapture.get(cv2.CAP_PROP_FRAME_WIDTH)),int(cameraCapture.get(cv2.CAP_PROP_FRAME_HEIGHT)))
# 设置视频文件格式
vw = cv2.VideoWriter('camera.avi',cv2.VideoWriter_fourcc('I','4','2','0'), fps, size)
# 读取摄像头的图像,函数 isOpened 判断摄像头是否开启,返回布尔型
if cameraCapture.isOpened():success, frame = cameraCapture.read()# # 若有多个摄像头,可使用# success = cameraCapture.grab()# success, frame = cameraCapture.retrieve()
# 10 代表10秒,1个fps代表1秒
num = 10 * fps
while success and num>0:# 显示摄像头录制窗口# cv2.imshow('MyPic',frame)# cv2.waitKey(1)# 写入图像到视频文件vw.write(frame)# 读取摄像头的图像success, frame = cameraCapture.read()# # 若有多个摄像头,可使用# success = cameraCapture.grab()# success, frame = cameraCapture.retrieve()num -= 1
# 释放摄像头
cameraCapture.release()
# 注销录制窗口
# cv2.destroyWindow('MyPic')

显示摄像头

import cv2
clicked = False
# onMouse是回调函数。
def onMouse(event, x, y, flags, param):global clicked# 松开鼠标左键所触发的事件if event == cv2.EVENT_LBUTTONUP:clicked = True
cameraCapture = cv2.VideoCapture(0)
# 创建MyWindow窗口
cv2.namedWindow('MyWindow')
# 设置MyWindow窗口的鼠标回滚
cv2.setMouseCallback('MyWindow', onMouse)
success, frame = cameraCapture.read()
while success and cv2.waitKey(1) == -1 and not clicked:# 将图片显示在MyWindow窗口cv2.imshow('MyWindow', frame)success, frame = cameraCapture.read()
# 注销MyWindow窗口
cv2.destroyWindow('MyWindow')
# 释放摄像头
cameraCapture.release()

函数setMouseCallback的触发的事件如下:

参考资料:OpenCV 3计算机视觉 Python语言实现第二版

Python 使用Opencv读写视频(Opencv教程二)相关推荐

  1. OpenCV读写视频文件解析(二)

    OpenCV读写视频文件解析(二) VideoCapture::set 设置视频捕获中的属性. C++: bool VideoCapture::set(int propId, double value ...

  2. python调用opencv处理视频_Python调用OpenCV读写视频

    最近因为经常对视频进行操作,所以记录下Python用opencv来读写视频的方法. 一.opencv读视频 python调用opencv来读视频比较简单,可以直接调用cv2.VideoCapture来 ...

  3. OpenCV读写视频文件解析

    OpenCV读写视频文件解析 一.视频读写类 视频处理的是运动图像,而不是静止图像.视频资源可以是一个专用摄像机.网络摄像头.视频文件或图像文件序列. 在OpenCV 中,VideoCapture 类 ...

  4. python编程视频-【科研资源03】最全Python编程全套系统视频学习教程

    原标题:[科研资源03]最全Python编程全套系统视频学习教程 01 资源介绍 从事Python开发这么久,也了解了不少,我发现Python主要有以下四大主要应用:网络爬虫.web开发.人工智能.自 ...

  5. python编程教学视频-【科研资源03】最全Python编程全套系统视频学习教程

    原标题:[科研资源03]最全Python编程全套系统视频学习教程 01 资源介绍 从事Python开发这么久,也了解了不少,我发现Python主要有以下四大主要应用:网络爬虫.web开发.人工智能.自 ...

  6. Python+Opencv图像处理新手入门教程(二):颜色空间转换,图像大小调整,灰度直方图

    一步一步来吧 上一节:Python+Opencv图像处理新手入门教程(一):介绍,安装与起步 1.什么是图像 对于计算机而言,图像的本质是一个由像素点构成的矩阵. 例如我们用肉眼很容易分辨一辆汽车的后 ...

  7. vs python opencv配置_OPENCV入门教程二:opencv+VS2015开发环境配置

    在该cpp文件中输入一下代码 #include #include #include #include #include using namespace cv; using namespace std; ...

  8. Python使用Pandas读写EXCEL文件教程

    https://www.daehub.com/archives/9463.html 教程 开始之前,我们需要首先了解一下什么是Excel,这有助于理解之后教程中的内容. 什么是Excel Excel  ...

  9. python模拟键盘输入视频_python教程-模拟鼠标和键盘输入

    大家可能知道,有的情形下,如果我们需进行自动化操作的应用程序不提供相对应的的接口,就难以通过Python直接调用API来做到自动化.在此类情形下,Python也并非压根没有办法,我们可以通过模拟键盘和 ...

最新文章

  1. FileMaker中的腳本觸發器學習筆記
  2. 表贴光电池 FU-NJL6402R-2 的特性
  3. linux中关于wifi函数,wifi详解(五)
  4. grep从文件末尾开始找_c++ 开始之旅
  5. 入门数据分析选择Python还是SQL?七个常用操作对比!
  6. Docker 上安装、启动 MySQL (图解)
  7. Redis五种数据结构应用场景
  8. 网络服务考试(通过率50%)
  9. RestAPI的进化之路,后端MVVM模式或许来临,通过观察者模式,后端收集前端的GET类请求,主动推送数据变更到前端
  10. html中可以编辑的文本,用BeautifulSoup编辑html中的文本
  11. 【Codeforces 467C】George and Job
  12. 华为交换机debug icmp数据包
  13. php 豆瓣抓取,PHP抓取豆瓣读书爬虫代码
  14. 无法复制:数据错误(循环冗余检查)的解决方法
  15. xlrd 1.2.0 版本通吃xls xlsx速度奇快
  16. 小心肝队-冲刺日志(第二天)
  17. 机器学习在脊柱的应用现状:从临床的观点
  18. 【XSY2485】MST(最小生成树+倍增lca+并查集)
  19. linux cgroup学习总结
  20. 一篇文章读完50篇摄影教程(托马斯的2016总结)

热门文章

  1. Windows 10安全指南
  2. 中国义乌进口商品博览会秋季展落幕 成交额达2.7亿元
  3. listen监听队列刨析
  4. 百度ERNIE-Gram: Pre-Training with Explicitly N-Gram Masked Language Modeling
  5. Java - 反射机制
  6. 如何在Qt中使用数据库Sqlite保存和提取图片
  7. 解决Win10系统msconfig配置错误后无法启动的问题
  8. 各种进制之间的转换方法
  9. 第一个只出现一次的字符
  10. 1121 Damn Single