MMM-Demo / visualize /render_mesh.py
Adi
feature: adding files for rendering
d63dc03
import argparse
import os
from visualize import vis_utils
import shutil
from tqdm import tqdm
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument("--input_path", type=str, required=True, help='stick figure mp4 file to be rendered.')
parser.add_argument("--cuda", type=bool, default=True, help='')
parser.add_argument("--device", type=int, default=0, help='')
params = parser.parse_args()
assert params.input_path.endswith('.mp4')
parsed_name = os.path.basename(params.input_path).replace('.mp4', '').replace('sample', '').replace('rep', '')
sample_i, rep_i = [int(e) for e in parsed_name.split('_')]
npy_path = os.path.join(os.path.dirname(params.input_path), 'results.npy')
out_npy_path = params.input_path.replace('.mp4', '_smpl_params.npy')
assert os.path.exists(npy_path)
results_dir = params.input_path.replace('.mp4', '_obj')
if os.path.exists(results_dir):
shutil.rmtree(results_dir)
os.makedirs(results_dir)
npy2obj = vis_utils.npy2obj(npy_path, sample_i, rep_i,
device=params.device, cuda=params.cuda)
print('Saving obj files to [{}]'.format(os.path.abspath(results_dir)))
for frame_i in tqdm(range(npy2obj.real_num_frames)):
npy2obj.save_obj(os.path.join(results_dir, 'frame{:03d}.obj'.format(frame_i)), frame_i)
print('Saving SMPL params to [{}]'.format(os.path.abspath(out_npy_path)))
npy2obj.save_npy(out_npy_path)