本文主要是介绍【数据集使用】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.
-
Please install conda (miniconda is preferred) and get familiar with it.
-
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
-
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
-
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-----------------------------------------------------------
这篇关于【数据集使用】3D Mask Attack Dataset(3DMAD数据集)---raw_to_AVI.py脚本的使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!