|
import numpy as np |
|
import scipy.io |
|
def euler2rot(euler): |
|
sin, cos = np.sin, np.cos |
|
phi, theta, psi = euler[0], euler[1], euler[2] |
|
R1 = np.array([[1, 0, 0], |
|
[0, cos(phi), sin(phi)], |
|
[0, -sin(phi), cos(phi)]]) |
|
R2 = np.array([[cos(theta), 0, -sin(theta)], |
|
[0, 1, 0], |
|
[sin(theta), 0, cos(theta)]]) |
|
R3 = np.array([[cos(psi), sin(psi), 0], |
|
[-sin(psi), cos(psi), 0], |
|
[0, 0, 1]]) |
|
R = R1 @ R2 @ R3 |
|
return R |
|
|
|
|
|
import json |
|
import os |
|
from glob import glob |
|
import sys |
|
|
|
temp_folder = sys.argv[1] |
|
output_folder = sys.argv[2] |
|
|
|
import shutil |
|
pose_template = np.load('util/pose_template.npy') |
|
glob_names= sorted(glob('%s/cropped_images/*.png'%(temp_folder))) |
|
|
|
for name_all in glob_names: |
|
|
|
if os.path.isfile('%s/cropped_images/cameras.json'%(temp_folder)): |
|
with open('%s/cropped_images/cameras.json'%(temp_folder), 'r') as file: |
|
labels = json.load(file) |
|
predict_pose = labels |
|
name = os.path.basename(name_all)[:-4] |
|
pose= np.array(predict_pose[name+'.png']['pose']).reshape(16) |
|
pose_template[:16] = pose |
|
|
|
np.save('%s/'%(output_folder)+name+'.npy',pose_template) |
|
shutil.copy('%s/cropped_images/'%(temp_folder)+name+'.png','%s/'%(output_folder)+name+'.png') |
|
|
|
|
|
|