OpenCV-Python[第二章]——视频初步
来源:互联网 发布:淘宝电脑整机 编辑:程序博客网 时间:2024/05/16 19:04
- 简介
- 捕捉视频
- 保存视频
- 示例代码
简介
本小节学习读取/显示/保存视频。涉及到的主要函数是cv2.VideoCapture(),cv2.VideoWriter().
捕捉视频
使用cv2.VideoCapture即可捕捉视频,它的参数可以是数字或者文件名,并且可以返回一个VideoCapture对象。如果是数字则代表连接的摄像头,有多个摄像头的情况依次为0,1,2.文件名则表示从本地视频文件获取视频流。之后就可以一帧帧捕捉视频并逐帧处理、显示等。最后需要释放,否则摄像头会一直处于打开状态。
保存视频
使用cv2.VideoWriter()创建一个VideoWriter对象,其用法如下:
# Define the codec and create VideoWriter objectfourcc = cv2.VideoWriter_fourcc(*'X264')out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640,480))
参数依次为输出文件名、FourCC、帧率、大小。其中FourCC是一个4字节的代码用于指定所用编码器。关于FourCC的更多细节可以查看fourcc.org常见的FourCC码有:DIVX,XVID,MJPG,X264,WMV1,WMV2等。
示例代码
import numpy as npimport cv2cap = cv2.VideoCapture(0)#cap = cv2.VideoCapture('test.avi') #use local file to create capture# Define the codec and create VideoWriter objectfourcc = cv2.VideoWriter_fourcc(*'X264')out = cv2.VideoWriter('output.avi',fourcc, 25.0, (640,480))while(cap.isOpened()): ret, frame = cap.read() if ret==True: frame = cv2.flip(frame,0) # write the flipped frame out.write(frame) cv2.imshow('frame',frame) if cv2.waitKey(1) & 0xFF == ord('q'): break else: break# Release everything if job is finishedcap.release()out.release()cv2.destroyAllWindows()
代码很简单,打开摄像头创建一个捕捉视频流,以及创建一个输出视频流保存视频文件。while循环中逐帧读取视频帧,使用cv2.flip函数对帧进行翻转,对翻转后的视频帧进行输出保存以及显示。最后是进行资源的释放和窗口的销毁。
0 0
- OpenCV-Python[第二章]——视频初步
- OpenCV-Python[第二章]——图像初步
- OpenCV-Python[第二章]——画图函数
- OpenCV学习-第二章-第二个程序-播放AVI视频
- OpenCV--Python--读取视频失败——解决方案
- ubuntu下python+opencv——读取视频
- 第二章 学习OpenCV——OpenCV入门
- 学习OpenCV读书笔记——第二章
- OpenCV Python 录制视频
- Python OpenCV获取视频
- OpenCV-Python:视频
- opencv学习之第二章视频播放控制
- opencv第二章-显示一张图片和播放avi视频
- Python基础教程—第二章
- OpenCV学习(1)——初步接触
- OpenCV学习-第二章-视频播放控制-支持滚动条随着视频播放自动移动
- opencv_study第二篇|opencv播放AVI视频
- 第二篇 学习OpenCV之视频播放
- HashMap的实现原理
- 七个经典推理(据说没有人能全部答对)
- MySQL Tomcat连接池设定
- C语言OJ项目参考(1923) ASCII码排序
- 极光推送获取不到RegisterId(注册ID)Android
- OpenCV-Python[第二章]——视频初步
- 721D Maxim and Array codeforces(模拟)
- 常见的论文投稿形式区别
- 获取元素样式属性的方法
- C语言OJ项目参考(2506) 切面条
- H5-历史管理
- 4. React 属性和状态介绍
- haskell笔记(3)
- 微信小程序例子——使用toast消息对话框提示用户忘记输入用户名或密码