python中处理VQA视频数据集-视频转图片并放入列表

描述

最近需要做点实验,用的是VQA-ODV数据集(目前最大的全景视频数据集),该数据及中有540个受损视频和参考视频以及标签,但是博主只需要用到受损视频(因为想做无参考视频质量评价),所以想办法把视频的每一帧都提取出来放在命名为0-540的文件夹中,文件夹中的帧数也是按数字排列的。最后,在python中把他们放入一个大列表,比如list(17)(1)就表示“17”文件夹下(也就是第17个视频)的第“1”帧。

前言

博主的水平很一般,刚学python,写的代码就像老奶奶的裹脚布(又臭又长),写这篇博客纯属想祭奠一下这个星期为智慧而流淌的头发。

过程

1.解压数据集

下载解压什么的就不详说了,下载解压完原始数据集后,把受损视频全部复制粘贴到一个新的文件夹下。我的视频路径是C:/Users/LIGHT/Desktop/dataset/VQA-ODV-master。

2.视频重命名

视频重命名主要用到os.rename的函数,结合for循环遍历文件。然后创建0-539文件夹,方便后续将视频帧放入对应的视频文件夹,代码如下:

# 对视频文件重命名0-539
 def rename():
     count = 0
     file_list = os.listdir(videopath)  # 该目录下所有文件
     for file in file_list:  # 遍历所有文件
         olddir = os.path.join(videopath,file)  # 原来文件路径
         filename = os.path.splitext(file)[0]  # 文件名
         filetype = os.path.splitext(file)[1]  # 文件拓展名
         newdir = os.path.join(videopath, str(count)+filetype)
         os.rename(olddir, newdir)
         count +=1
# 创建0-539文件夹
 base = 'C:/Users/LIGHT/Desktop/demo/360VQA/data/'#0-539文件夹的目录
 i = 0
 for i in range(540):
     file_name = base+str(i)
     os.mkdir(file_name)
     i = i+1

3.提取视频帧并放入相应的文件夹

在这里,需要将每个视频的路径和每个视频文件夹(0-539)的路径放在两个列表中,这样才能用一个变量遍历这些文件和文件夹, 代码如下:

def getfile():
    file_list = []
    for root
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值