使用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获取apk文件URL地址实例
Nov 01 Python
pygame学习笔记(4):声音控制
Apr 15 Python
python实现爬取千万淘宝商品的方法
Jun 30 Python
Python3.4实现远程控制电脑开关机
Feb 22 Python
python实现两个文件合并功能
Apr 01 Python
Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)
Apr 30 Python
python 求定积分和不定积分示例
Nov 20 Python
django-利用session机制实现唯一登录的例子
Mar 16 Python
Python类成员继承重写的实现
Sep 16 Python
Python基于staticmethod装饰器标示静态方法
Oct 17 Python
Python排序函数的使用方法详解
Dec 11 Python
matplotlib bar()实现百分比堆积柱状图
Feb 24 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
浅谈web上存漏洞及原理分析、防范方法(文件名检测漏洞)
2013/06/29 PHP
smarty自定义函数用法示例
2016/05/20 PHP
php连接mysql之mysql_connect()与mysqli_connect()的区别
2020/07/19 PHP
Javascript 构造函数,公有,私有特权和静态成员定义方法
2009/11/30 Javascript
基于jquery插件实现常见的幻灯片效果
2013/11/01 Javascript
JS过滤url参数特殊字符的实现方法
2013/12/24 Javascript
javascript实现添加附件功能的方法
2015/11/18 Javascript
解决VUEX兼容IE上的报错问题
2018/03/01 Javascript
详解如何在nuxt中添加proxyTable代理
2018/08/10 Javascript
Vue+element 解决浏览器自动填充记住的账号密码问题
2019/06/11 Javascript
vue实现商城秒杀倒计时功能
2019/12/12 Javascript
react实现移动端下拉菜单的示例代码
2020/01/16 Javascript
微信小程序实现录制、试听、上传音频功能(带波形图)
2020/02/27 Javascript
详解微信小程序入门从这里出发(登录注册、开发工具、文件及结构介绍)
2020/07/21 Javascript
uni-app 自定义底部导航栏的实现
2020/12/11 Javascript
[02:28]DOTA2英雄基础教程 灰烬之灵
2013/12/19 DOTA
python批量查询、汉字去重处理CSV文件
2018/05/31 Python
mac安装scrapy并创建项目的实例讲解
2018/06/13 Python
Pandas之ReIndex重新索引的实现
2019/06/25 Python
详解python pandas 分组统计的方法
2019/07/30 Python
keras 两种训练模型方式详解fit和fit_generator(节省内存)
2020/07/03 Python
用CSS3实现背景渐变的方法
2015/07/14 HTML / CSS
CSS3媒体查询Media Queries基础学习教程
2016/02/29 HTML / CSS
使用Html5实现异步上传文件,支持跨域,带有上传进度条
2016/09/17 HTML / CSS
Charles&Keith美国官方网站:新加坡快时尚鞋类和配饰零售商
2019/11/27 全球购物
LUISAVIAROMA德国官网:时尚奢侈品牌购物网站
2020/11/12 全球购物
Collection和Collections的区别
2016/05/02 面试题
Ruby如何创建一个线程
2013/03/10 面试题
业务经理的岗位职责
2013/11/16 职场文书
小学毕业感言150字
2014/02/05 职场文书
《珍珠泉》教学反思
2014/02/20 职场文书
项目合作协议书
2014/04/16 职场文书
产品委托授权书范本
2014/09/16 职场文书
2015年护士节活动总结
2015/02/10 职场文书
总经理年会致辞
2015/07/29 职场文书
Python+Tkinter制作专属图形化界面
2022/04/01 Python