Python实现图片和视频的相互转换

本文介绍了如何使用Python进行图片和视频的相互转换。包括视频转图像,支持按帧率截取并自定义命名,以及图像转视频,适用于处理模型输出。提供了详细代码解释和实践案例。
摘要由CSDN通过智能技术生成

有时候我们需要把很多的图片合成视频,或者说自己写一个脚本去加快或者放慢视频;也有时候需要把视频裁剪成图片,进行后续操作。这篇文章就将为大家介绍如何通过Python实现图片和视频的相互转换,需要的可以参考一下,编程学习资料点击白嫖领取

目录

使用背景

一、视频转图像

二、图像转视频


使用背景

有时候我们需要把很多的图片合成视频,或者说自己写一个脚本去加快或者放慢视频;

也有时候需要把视频裁剪成图片,进行后续操作。

这里提供两种方法,一是视频转图像;二是图像转视频。 

一、视频转图像

有时候我们需要把文件夹中的视频按照一定的帧率截取图片,如一秒取三张,为了实现这一需求,我特地编写了代码实现,并且附上了十分详细的说明,为了方便大家改代码实现自己需求(主要为了照顾刚学python的或者只需要用这一需求的小伙伴),本博文的特点如下:

  • 直接改变输入文件夹和输出文件夹的位置,就可以实现功能
  • 输出的图片能按照一定格式命名,这里是以20210823_0001命名
  • 逐一遍历文件夹中视频,序号之间可以连续(也可不连续,需要改代码)
  • 利用双线性插值方法,就算图片变大了,也能保证分辨率(关于双线性,这里只是调用opencv方法实现,具体实现代码和原理可看我下一篇博文)
  • 代码解释十分详细,一看就懂

十分详细代码实现

首先先说明需要自己修改的参数,代码如下:

1

2

3

4

5

filepath = 'C:/Users/ZFG/Desktop/1111' #视频文件夹所在目录

data='20210823'   #要是储存的文件为20210823_0001格式,则为前半部分

save_filename='C:/Users/ZFG/Desktop/2222/'  #储存图片的文件夹的地址

timeF = 6   #根据一秒取多少帧设置,比如我的视频是24帧/秒,取6则一秒取三张

kernal=(700,700#设置输出的大小,根据自己需求设置

然后再设置一个方法,来储存截取后的图片:

1

2

3

def saveImage(image,SaveAddress,num):  #image为读取的图片,SaveAddress为需要存的地址,num为截取图片时候记录的序号

    address= SaveAddress+data+'_'+str(num).zfill(4)+'.jpg'   #这里设置输出格式

    cv2.imwrite(address,image) #这里为存图片

之后读取文件夹:

1

pathDir = os.listdir(filepath)

1

2

3

4

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值