【数据集使用】3D Mask Attack Dataset(3DMAD数据集)---raw_to_AVI.py脚本的使用

【编辑时间】2018.09.17

【数据集使用】3D Mask Attack Dataset(3DMAD数据集)---raw_to_AVI.py脚本的使用

 

概述

3DMAD数据集中的数据是.hdf5格式的,可以使用数据库中的raw_to_AVI.py脚本将其转换为.avi的视频文件。但是源代码中使用的bob库中的指令由于版本更新变得不一样了,本文主要是讲述如何更改raw_to_AVI.py脚本使得他能够使用。

 

1、bob库的安装

【注意:Bob在windows上不工作,因此没有Conda软件包可供使用。即使从源代码安装它也不能工作。】

We offer pre-compiled binary installations of Bob using conda for Linux and MacOS 64-bit operating systems.

  1. Please install conda (miniconda is preferred) and get familiar with it.

  2. Make sure you have an up-to-date conda installation (conda 4.4 and above is needed) with thecorrect configuration by running the commands below:

    $ conda update -n base conda

    $ conda config --set show_channel_urls True

  3. Create an environment for Bob:

    $ conda create --name bob_py3 --override-channels \

    -c https://www.idiap.ch/software/bob/conda -c defaults \

    python=3 bob

    $ conda activate bob_py3

    $ conda config --env --add channels defaults

    $ conda config --env --add channels https://www.idiap.ch/software/bob/conda

  4. Install the Bob packages that you need in that environment:

    $ conda install bob.io.image bob.bio.base ...

5、在原代码中共用到了3个bob库的指令:bob.io.HDF5File()、bob.ip.draw_cross、bob.io.VideoWriter,但是在新版本的bob库中,这三个指令分别由bob.io.base.HDF5File()、

bob.ip.draw.cross、bob.io.video.writer代替,所以在第4步中要安装的包分别为bob.io.base、bob.ip.draw、bob.io.video。

二、代码的更改

1、导入的库:

【原本】:import bob

【改为上面下载的三个包】:

import bob.io.base

import bob.ip.draw

import bob.io.video

PS:如果不替换的话,会提示bob库没有io属性等

2、指令替换

原本用到bob.io.HDF5File()、bob.ip.draw_cross、bob.io.VideoWriter的地方,分别用bob.io.base.HDF5File()、bob.ip.draw.cross、bob.io.video.writer替换

三、代码的运行

1、【代码的使用方法】python %脚本路径%raw_to_AVI.py %转换后视频的存储路径%

2、运行结果

四、代码的改进

根据原本的代码,只能一个一个.hdf5文件进行转换,所以一共需要300此指令输入。

此部分希望在原代码基础上修改,使得可以一次性将每个session下的所有.hdf5文件转换完毕。

【基本思路】:使用os.listdir()读取路径中的文件名,并返回一个列表;

使用os.system(cmd)执行指令,在for循环中

【代码】

#!transfor_all.py

import os

#读取路径中的文件名,并返回一个列表

path_old = '/home/ccx/Desktop/dataset/3dmad/session01'

filenames = os.listdir(path_old)#

#python脚本的位置

path_py='/home/ccx/Desktop/dataset/3dmad/documentation/documentation/raw_to_AVI_all.py' #

 

#遍历执行cmd指令

for filename in filenames:

cmd='python'+' '+path_py+' '+path_old+'/'+filename

os.system(cmd)

【运行结果】

-------------------------------------------------------------------end-----------------------------------------------------------

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值