python cv2 模块图片生成视频

事件起因

在工位上写bug的时候觉得窗外风景不错,iPhone自带的延时摄影会根据时长调整压缩比例,然后想下载一个app拍摄固定比例的延时视频。
slow shutter
这app只会拍照片而不会处理成延时视频,于是iPhone收获了1000张3秒间隔的连续的照片。

手机app也没有能处理这么多照片的,也懒得下adobe,搜了下python可以用,就试试
原理:将照片逐帧连续写入视频对象中,iphone照片导出来是连续的号码,直接遍历即可

import cv2
import osimg_root = 'F:/TempIphone/' #照片文件路径
fps = 60    #FPS
size=(1080,1920)    #图片、视频尺寸
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
videoWriter = cv2.VideoWriter('F:/pygenvideo/dist/demofps60.mp4',fourcc,fps,size, True)for img_file in os.listdir(img_root):frame = cv2.imread(img_root + img_file)videoWriter.write(frame)print(img_root + img_file + ' done!')
videoWriter.release()

这里调试了一会儿,以下是遇到的坑
1、size是输出视频的size,这里只要图片文件大小一致就行,fps就是每秒多少帧自己定。
2、搜到的文章说fourcc编码格式只支持avi,这里试了mp4可行,找到对应的编码格式和文件就没问题。
例:
cv2.VideoWriter_fourcc(‘P’,‘I’,‘M’,‘1’) = MPEG-1 codec
cv2.VideoWriter_fourcc(‘M’,‘J’,‘P’,‘G’) = motion-jpeg codec --> mp4v
cv2.VideoWriter_fourcc(‘M’, ‘P’, ‘4’, ‘2’) = MPEG-4.2 codec
cv2.VideoWriter_fourcc(‘D’, ‘I’, ‘V’, ‘3’) = MPEG-4.3 codec
cv2.VideoWriter_fourcc(‘D’, ‘I’, ‘V’, ‘X’) = MPEG-4 codec --> avi
cv2.VideoWriter_fourcc(‘U’, ‘2’, ‘6’, ‘3’) = H263 codec
cv2.VideoWriter_fourcc(‘I’, ‘2’, ‘6’, ‘3’) = H263I codec
cv2.VideoWriter_fourcc(‘F’, ‘L’, ‘V’, ‘1’) = FLV1 codec

3、videoWriter对象可以使用 imshow(“example”,frame(帧对象)) 来验证是否读取到了图片文件,frame 帧对象也可以print frame.shape 输出图像大小。
4、imread这里使用的是绝对路径,最开始因为使用了相对路径,imshow倒是能show出来,就是写不进视频文件里导致输出文件只有十几kb,折腾了好一会儿。
5、os.listdir参数一定得是文件夹

最后成功输出了75m的视频,且可以自己调整帧率,很方便,然后再弄回iPhone发给女票显摆。
以上,萌新记录

参考链接:
1: https://blog.csdn.net/TionSu/article/details/81356006
2: https://blog.csdn.net/weixin_42984932/article/details/108078295
3: https://blog.csdn.net/weixin_36670529/article/details/100977537
4: https://www.e-learn.cn/topic/3267838

python cv2 模块图片生成视频相关推荐

  1. 【python】opencv教程CV2模块——图片处理,HSV、色调、亮度调节

    opencv教程CV2模块--图片处理,HSV.色调.亮度调节 代码传送门: import cv2img=cv2.imread('./imgg/1.jpeg', cv2.IMREAD_COLOR) # ...

  2. Python批量导入图片生成能治疗颈椎病的HTML5版课件

    本文要点:Python文件操作,HTML5的figure元素和CSS3属性的用法. 说明:1):本文图片来自于相关阅读中Python批量导出多个PPT/PPTX文件中每个幻灯片为独立JPG图片或Pyt ...

  3. 使用Python将多张图片生成视频,并添加背景音乐及字幕

    这篇博客将介绍如何使用Python用多张图片生成视频,并添加背景音乐及字幕.主要分三步: 多张照片生成视频 添加字幕 添加背景音乐 moviepy不好使,moviepy 1.0.3+python3.7 ...

  4. Python qrcode模块(生成二维码)

    Python qrcode模块(生成二维码) 一.Qrcode类解释 1.QR Codede 由来 2.QRCode二维码版本 二.Qrcode类构造函数及参数含义 1.version=None 2. ...

  5. Qt - OpenCV 连续图片生成视频

    Qt - OpenCV 连续图片生成视频 此博客始创于:http://blog.csdn.net/lys211 转载请注明出处 主要是测试OpenCV将连续命名的图片转换成视频的过程. OpenCV的 ...

  6. python怎么加字幕_使用Python和百度语音识别生成视频字幕的实现

    从视频中提取音频 安装 moviepy pip install moviepy 相关代码: audio_file = work_path + '\\out.wav' video = VideoFile ...

  7. 利用Python QRCode模块快速生成二维码

    利用Python QRCode模块快速生成二维码 安装qrcode相关模块: pip install qrcode pip install Image 生成二维码的Python实现: import q ...

  8. python 视频语音转文字_使用Python和百度语音识别生成视频字幕的实现

    从视频中提取音频 安装 moviepy pip install moviepy 相关代码: audio_file = work_path + '\\out.wav' video = VideoFile ...

  9. python|图片生成视频MP4

    参考python视频操作--python实现将图片合成为视频 import os import cv2# 要被合成的多张图片所在文件夹 # 路径分隔符最好使用"/",而不是&quo ...

最新文章

  1. python中封装、继承、多态
  2. 达摩院2021年十大科技趋势出炉:量子计算、脑机接口、第三代半导体应用……...
  3. 常考数据结构与算法:最大正方形
  4. js如何往div里写div
  5. php7协程通信使用,PHP7下的协程实现
  6. .net core+Spring Cloud学习之路 一
  7. 国内手机号正则表达式
  8. c语言gets和getchar区别,c语言中关于getchar()、getchar()和gets().......
  9. 以太网帧的最小长度_802.3?以太网?看完你就懂了
  10. why2cs学习之路
  11. mysql 锁怎么使用_MySQL锁的用法之行级锁
  12. python接口封装_Python 接口测试之接口关键字封装
  13. 2台电脑一根网线传文件_安卓端和Mac快速连接传文件
  14. AdapterView与Adapter
  15. win10主题更换_WIN10好用的小软件
  16. 利用python搭建socket server服务器
  17. scrapy过滤重复数据和增量爬取
  18. 【MySQL】数据库机房架构与跨城容灾详解(实战篇)(MySQL专栏启动)
  19. OpenCL 第10课:kernel,work_item和workgroup
  20. 磁带库购买指南之基础篇

热门文章

  1. java numbereditor_java.lang.NumberFormatException: For input string: ${jdbc.maxActive}
  2. [转载] 百科全说——栾加芹:穴位贴敷巧治病(11-03-08)
  3. 基于springboot开发的报价管理系统
  4. MySQL5.7解压版配置
  5. 低版本Docker升级高版本Docker【详细教程、成功避坑】
  6. 优衣库的曲线淘宝之路
  7. 行业领先公司和软件系统
  8. vue中组件之间传值的六种方式(完整版)
  9. c++调用python返回值
  10. 雨滴蜂窝常用文件标识符