Python实现图片与视频互转代码实战(亲测有效)

 更新时间:2021年12月03日 15:18:59   作者:X_Imagine  
图片转视频,视频转图片手机一操作,立马转换过来,那么基于代码是如何操作的呢?下面小编给大家带来了Python实现图片与视频互转代码实战,感兴趣的朋友跟随小编一起看看吧

一、 图片转视频

任务需求背景

在标注数据的过程中,需要【反复】浏览大量图片(万张以上的数量级),确认图片中的目标类别以及室内户型布局。但是,在电脑上浏览图片有很大的不足:(a)需要持续点击鼠标或者键盘;(b)图片加载跟不上点击速度。

值得注意的是:网上有很多代码(图片转视频),但是真正能用的几乎很少,本博文的代码经过测试,可以成功生成视频。

代码依赖库

opencv-python==4.5.2
numpy==1.19.2
glob(python自带模块)

代码实战

基本步骤如下:
a. 使用glob获取路径下的所有图片;
b. cv2.imread()读取所有图片;
c. 将读取的图片存于列表中;
d. 使用cv2.VideoWriter()创建VideoWriter对象,注意参数的设置;
e. 使用cv2.VideoWriter().write()保存每一帧图像到视频文件;
f. 释放 VideoWriter对象;

import cv2
import numpy as np
import glob
import os
# 其它格式的图片也可以
img_array = []
for filename in glob.glob('E:/3DS1Data/20211118/29984CRL30V00067087/dataset/rgb/*.png'):
    img = cv2.imread(filename)
    height, width, layers = img.shape
    size = (width, height)
    img_array.append(img)
# avi:视频类型,mp4也可以
# cv2.VideoWriter_fourcc(*'DIVX'):编码格式
# 5:视频帧率
# size:视频中图片大小
out = cv2.VideoWriter('E:/3DS1Data/20211118/29984CRL30V00067087/dataset/project-all.avi',
                      cv2.VideoWriter_fourcc(*'DIVX'),
                      5, size)
for i in range(len(img_array)):
    out.write(img_array[i])
out.release()

下图是原始图片数据:

数据

生成的视频文件(播放中):

在这里插入图片描述

到此这篇关于Python实现图片与视频互转代码实战(亲测有效)的文章就介绍到这了,更多相关Python图片与视频互转内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue防止用户连续点击造成多次提交的三种解决方法

    vue防止用户连续点击造成多次提交的三种解决方法

    本文主要介绍了vue防止用户连续点击造成多次提交的三种解决方法,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2024-03-03
  • 在Django框架中编写Context处理器的方法

    在Django框架中编写Context处理器的方法

    这篇文章主要介绍了在Django框架中编写Context处理器的方法,Django是重多高人气Python框架中最为著名的一个,需要的朋友可以参考下
    2015-07-07
  • Python中logging.NullHandler 的使用教程

    Python中logging.NullHandler 的使用教程

    这篇文章主要介绍了Python中logging.NullHandler 的使用教程,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2018-11-11
  • python print出共轭复数的方法详解

    python print出共轭复数的方法详解

    在本篇内容里小编给大家分享的是关于python print出共轭复数的方法总结内容,有需要的读者们可以学习下。
    2019-06-06
  • Python 代替 xftp 从 Linux 服务器下载文件的操作方法

    Python 代替 xftp 从 Linux 服务器下载文件的操作方法

    我们经常需要从Linux服务器上同步文件,但是xftp等工具都需要注册了,这里用免费的Python代码来下载文件,还可以扩展更多的自定义用法,这篇文章主要介绍了Python 代替 xftp 从 Linux 服务器下载文件,需要的朋友可以参考下
    2024-06-06
  • Python ORM数据库框架Sqlalchemy的使用教程详解

    Python ORM数据库框架Sqlalchemy的使用教程详解

    对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。本文主要介绍了其使用的相关资料,感兴趣的小伙伴可以学习一下
    2022-10-10
  • Python 中使用正则表达式转义

    Python 中使用正则表达式转义

    这篇文章主要介绍了Python 正则表达式转义,在 Python 中,正则表达式转义sub()方法用于替换字符串,替换后的字符串由 re 模块中的 Python 内置方法返回,需要的朋友可以参考下
    2023-06-06
  • python内置函数map/filter/reduce详解

    python内置函数map/filter/reduce详解

    在Python中,map(), filter(), 和 reduce() 是内置的高级函数(实际是class),用于处理可迭代对象(如列表、元组等)的元素,这篇文章主要介绍了python内置函数map/filter/reduce的相关知识,需要的朋友可以参考下
    2024-05-05
  • 探索Python神奇算术用代码轻松求和的几种方法

    探索Python神奇算术用代码轻松求和的几种方法

    求和是数学中最基本的运算之一,也是编程中常见的任务之一,Python 提供了多种方法来计算和求和数字,本文将掏出计算求和的不同方法,包括使用循环、内置函数以及第三方库
    2023-11-11
  • Python递归函数 二分查找算法实现解析

    Python递归函数 二分查找算法实现解析

    这篇文章主要介绍了Python递归函数 二分查找算法实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08

最新评论