From cd88513bb2320f093e4fe56df0f8df19ff8a5fc7 Mon Sep 17 00:00:00 2001 From: Nicolas Pope <nwpope@utu.fi> Date: Mon, 16 Mar 2020 11:16:18 +0200 Subject: [PATCH] Fix pose problems --- SDK/Python/blender_script.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/SDK/Python/blender_script.py b/SDK/Python/blender_script.py index cc250c930..1a567e429 100644 --- a/SDK/Python/blender_script.py +++ b/SDK/Python/blender_script.py @@ -253,7 +253,7 @@ ftlImageWrite.argtypes = [c_void_p, c_int, c_int, c_int, c_int, c_void_p] ftlPoseWrite = ftl.ftlPoseWrite ftlPoseWrite.restype = c_int -ftlPoseWrite.argtypes = [c_void_p, c_void_p] +ftlPoseWrite.argtypes = [c_void_p, c_int, c_void_p] ftlDestroyStream = ftl.ftlDestroyStream ftlDestroyStream.restype = c_int @@ -282,7 +282,11 @@ def render_and_save(filename, cameras): ftlCheck(ftlIntrinsicsWriteRight(c_void_p(stream), c_int(i), c_int(int(image.intrinsics.width)), c_int(int(image.intrinsics.height)), c_float(image.intrinsics.fx), c_float(image.intrinsics.cx), c_float(image.intrinsics.cy), c_float(image.intrinsics.baseline), c_float(image.intrinsics.min_depth), c_float(image.intrinsics.max_depth))) # This line needs fixing - ftlCheck(ftlPoseWrite(stream, image.pose.astype(np.float32).ctypes.data_as(c_void_p))) + M = np.identity(4,dtype=np.float32) + M[0:3,0:4] = image.pose + M = np.transpose(M) + M = np.linalg.inv(M) + ftlCheck(ftlPoseWrite(stream, c_int(i), M.ctypes.data_as(c_void_p))) ftlCheck(ftlImageWrite(stream, c_int(i), 0, 5, 0, image.imL.ctypes.data_as(c_void_p))) ftlCheck(ftlImageWrite(stream, c_int(i), 2, 5, 0, image.imR.ctypes.data_as(c_void_p))) -- GitLab