使用python-cv2实现视频的分解与合成的示例代码


Posted in Python onOctober 26, 2020

1.视频分解图片

我们使用cv2.VideoCapture来读取视频

import cv2
cap = cv2.VideoCapture('1.mp4')
isOpened = cap.isOpened  # 判断视频是否可读
print(isOpened)
fps = cap.get(cv2.CAP_PROP_FPS) # 获取图像的帧,即该视频每秒有多少张图片
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) # 获取图像的宽度和高度
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
print(fps, width, height)
i = 0
while(isOpened):
  if i == 10:
    break
    
  # 读取每一帧,falg表示是否读取成功,frame为图片的内容
  (flag, frame) = cap.read()  
  filename = 'img' + str(i) + '.jpg' # 文件的名字
  if flag:
    cv2.imwrite(filename, frame, [cv2.IMWRITE_JPEG_QUALITY,100]) # 保存图片
  i += 1

2.图片合成视频

我们使用cv2.VideoWrite方法来创建一个video写入器

用cv2.VideoWriter_fourcc创建视频编解码器

要创建mp4类型的视频文件,视频编解码器为cv2.VideoWriter_fourcc('M', 'J', 'P', 'G')

import cv2
img = cv2.imread('img0.jpg')
width = img.shape[0]
height = img.shape[1]
size = (height, width)
print(size)

videoname = "2.mp4"  # 要创建的视频文件名称 
fourcc = cv2.VideoWriter_fourcc('M', 'J', 'P', 'G') # 编码器 
fps = 5 # 帧率

# 1.要创建的视频文件名称 2.编码器 3.帧率 4.size
videoWrite = cv2.VideoWriter(videoname,fourcc, fps, size)
for i in range(10):
  filename = 'img' + str(i) + '.jpg'
  img = cv2.imread(filename)
  videoWrite.write(img) # 写入

720 1280

到此这篇关于使用python-cv2实现视频的分解与合成的文章就介绍到这了,更多相关使用python-cv2实现视频的分解与合成内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python和GO语言实现的消息摘要算法示例
Mar 10 Python
Python中操作文件之write()方法的使用教程
May 25 Python
Python中格式化format()方法详解
Apr 01 Python
Django基础之Model操作步骤(介绍)
May 27 Python
Django之模型层多表操作的实现
Jan 08 Python
详解python配置虚拟环境
Apr 08 Python
python3实现二叉树的遍历与递归算法解析(小结)
Jul 03 Python
Python3 无重复字符的最长子串的实现
Oct 08 Python
python数据爬下来保存的位置
Feb 17 Python
Python实现疫情通定时自动填写功能(附代码)
May 27 Python
Python操作MySQL数据库的示例代码
Jul 13 Python
Python获取浏览器窗口句柄过程解析
Jul 25 Python
python递归函数用法详解
Oct 26 #Python
Python实现LR1文法的完整实例代码
Oct 25 #Python
Python操作word文档插入图片和表格的实例演示
Oct 25 #Python
python时间time模块处理大全
Oct 25 #Python
使用AJAX和Django获取数据的方法实例
Oct 25 #Python
Python Tkinter实例——模拟掷骰子
Oct 24 #Python
Python+OpenCV图像处理——图像二值化的实现
Oct 24 #Python
You might like
php 删除一个数组中的某个值.兼容多维数组!
2012/02/18 PHP
php数组一对一替换实现代码
2012/08/31 PHP
php删除与复制文件夹及其文件夹下所有文件的实现代码
2013/01/23 PHP
PHP中两个float(浮点数)比较实例分析
2015/09/27 PHP
php使用QueryList轻松采集js动态渲染页面方法
2018/09/11 PHP
MacOS下PHP7.1升级到PHP7.4.15的方法
2021/02/22 PHP
js 纯数字不重复排列的另类方法
2010/07/17 Javascript
动态加载jquery库的方法
2014/02/12 Javascript
jquery中使用循环下拉菜单示例代码
2014/09/24 Javascript
javascript中Date对象的getDay方法使用指南
2014/12/22 Javascript
jQuery中:radio选择器用法实例
2015/01/03 Javascript
AngularJS过滤器filter用法实例分析
2016/11/04 Javascript
js仿微信语音播放实现思路
2016/12/12 Javascript
json数据处理及数据绑定
2017/01/25 Javascript
jQuery树控件zTree使用方法详解(一)
2017/02/28 Javascript
nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
2017/03/28 NodeJs
关于JavaScript中的this指向问题总结篇
2017/07/23 Javascript
nodejs微信扫码支付功能实现
2018/02/17 NodeJs
详解在Angular4中使用ng2-baidu-map的方法
2019/06/19 Javascript
node中实现删除目录的几种方法
2019/06/24 Javascript
JavaScript Dom实现轮播图原理和实例
2021/02/19 Javascript
零基础写python爬虫之urllib2中的两个重要概念:Openers和Handlers
2014/11/05 Python
python fabric使用笔记
2015/05/09 Python
终端命令查看TensorFlow版本号及路径的方法
2018/06/13 Python
Python  unittest单元测试框架的使用
2018/09/08 Python
在win10和linux上分别安装Python虚拟环境的方法步骤
2019/05/09 Python
Django 外键的使用方法详解
2019/07/19 Python
Python+numpy实现矩阵的行列扩展方式
2019/11/29 Python
使用Keras构造简单的CNN网络实例
2020/06/29 Python
Interrail法国:乘火车探索欧洲,最受欢迎的欧洲铁路通票
2019/08/27 全球购物
令人印象深刻的自荐信
2014/05/25 职场文书
高三英语教学计划
2015/01/23 职场文书
2015年仓库管理工作总结
2015/05/25 职场文书
四年级作文之说明文作文
2019/10/14 职场文书
将Python代码打包成.exe可执行文件的完整步骤
2021/05/12 Python
html5调用摄像头截图功能
2022/01/18 Javascript