【python实战】--图片创作视频

系列文章目录

文章目录


前言

一、VideoWriter_fourcc()常见的编码参数

cv2.VideoWriter_fourcc('M', 'P', '4', 'V') MPEG-4编码 .mp4 可指定结果视频的大小
cv2.VideoWriter_fourcc('X','2','6','4') MPEG-4编码 .mp4 可指定结果视频的大小
cv2.VideoWriter_fourcc('I', '4', '2', '0') 该参数是YUV编码类型,文件名后缀为.avi 广泛兼容,但会产生大文件
cv2.VideoWriter_fourcc('P', 'I', 'M', 'I') 该参数是MPEG-1编码类型,文件名后缀为.avi
cv2.VideoWriter_fourcc('X', 'V', 'I', 'D') 该参数是MPEG-4编码类型,文件名后缀为.avi,可指定结果视频的大小
cv2.VideoWriter_fourcc('T', 'H', 'E', 'O') 该参数是Ogg Vorbis,文件名后缀为.ogv
cv2.VideoWriter_fourcc('F', 'L', 'V', '1') 该参数是Flash视频,文件名后缀为.flv

VideoWriter(filename, fourcc, fps, frameSize[, isColor])

c 复制代码
#filename保存文件的路径
#fource指定编码器
#fps保存视频的帧率,即一秒钟播放多少张图片;播放快点:fps设置大点,相当于快进;播放慢点:fps设置小点,相当于慢动作;
#frameSize保存文件的画面尺寸
#isColor黑白还是彩色画面True or False
#cv2.VideoWriter_fourcc(*'MP4V') 写MP4文件

二、使用步骤

1.引入库

代码如下(示例):

c 复制代码
import cv2


# 图片序列文件夹
image_dir = 'wordsvedio/'
# 图片数量
image_count = 14
#image_count = 192
# 尺寸
frame_size = (675, 981)
# videowriter
fourcc = cv2.VideoWriter.fourcc('I', '4', '2', '0')
#fourcc = cv2.VideoWriter.fourcc('M', 'J', 'P', 'G')
# 生成视频时要注意帧率,因为是隔一帧采样,所以原本30帧的视频就要变为15帧
writer = cv2.VideoWriter('wordsvedio/something.mp4v', fourcc, 15, frame_size)
#writer = cv2.VideoWriter('wordsvedio/something.avi', fourcc, 15, frame_size)
# 开始写入
for i in range(image_count):
    image = cv2.imread('{0}{1}.jpg'.format(image_dir, i))
    #image = cv2.cv2.imread('{0}{1}.jpg'.format(image_dir, i))
    writer.write(image)
# 释放
writer.release()
# 提示消息
print('视频生成完成。')

总结

分享:

我们的生活是否幸福并不是依靠外在的环境,而是依靠我们内在的信念。要想成为自己命运的主宰,我们就必须形成自己的信念。只要我们能坚定自己的内在信念,我们就能掌控自己外在的生活。所以,请把让自己感觉快乐幸福和有助于我们实现目标的观念变成自己信念。

相关推荐
我是无敌小恐龙7 分钟前
Java SE 零基础入门Day06 方法重载+Debug调试+String字符串全套API详解(超全干货)
java·开发语言·人工智能·python·transformer·无人机·量子计算
aidesignplus9 分钟前
从平方到线性:Mamba如何挑战Transformer的长序列效率瓶颈?
人工智能·python·深度学习·vim·transformer
2301_7735536210 分钟前
Redis怎样优化复制缓冲池大小_调大repl-backlog-size减少频繁的全量同步触发
jvm·数据库·python
三维频道10 分钟前
工业级三维扫描实测:汽车灯具复杂结构件的全尺寸 3D 测量方案分析
java·人工智能·python·数码相机·3d·汽车·汽车轻量化制造
weixin_3812881814 分钟前
HTML lang 属性的正确取值规范:BCP 47 格式详解与最佳实践
jvm·数据库·python
阿荻在肝了18 分钟前
Agent学习七:LangGraph学习-持久化与记忆二
python·学习·agent
u01091476020 分钟前
如何正确对 JavaScript 对象的键进行字母序排序
jvm·数据库·python
maqr_11022 分钟前
MySQL在事务中如何实现串行化_使用select lock in share mode查询
jvm·数据库·python
EasyDSS30 分钟前
私有化视频会议平台/视频直播点播/高清点播/音视频点播EasyDSS“直播+点播+会议”全场景融合解锁视频协作新体验
音视频
EasyDSS31 分钟前
企业级融媒体生产管理平台/私有化音视频系统EasyDSS一体化架构打造全流程应急指挥视频会议体系
架构·音视频·媒体