【資料集使用】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
-
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 \
python=3 bob
$ conda activate bob_py3
$ conda config --env --add channels defaults
-
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-----------------------------------------------------------