我从here下载了斯坦福兔子的扫描图
有一个conf文件,其中包含扫描的转换,如下所示:
camera -0.0172 -0.0936 -0.734 -0.0461723 0.970603 -0.235889 0.0124573
bmesh bun000.ply 0 0 0 0 0 0 1
bmesh bun045.ply -0.0520211 -0.000383981 -0.0109223 0.00548449 -0.294635 -0.0038555 0.955586
我想做的是使用点云库将这两次扫描放入同一坐标系中,但是我不理解这些转换的值
我找到了有关4x4矩阵转换的教程,是否可以根据这些值创建4x4矩阵?还是这完全不同?
答案 0 :(得分:0)
从我认为是from transforms3d.quaternions import quat2mat
import numpy as np
# Create Identity transformation for 4x4
T = np.eye(4)
# Caution quat2mat uses w, x, y, z! Need to reorder your quaternion
T[:3, :3] = quat2mat([0.0124573, -0.0461723, 0.970603, -0.235889])
# Insert position x, y, z
T[:3, 3] = [-0.0172, -0.0936, -0.734]
# Print Result
print(T)
# [[-0.99542587 -0.08375279 0.04596522 -0.0172 ]
# [-0.09550694 0.8844491 -0.45675838 -0.0936 ]
# [-0.00239911 -0.45905911 -0.88840249 -0.734 ]
# [ 0. 0. 0. 1. ]]
的格式来看,我不确定我的回答,但是请检查下面提供的代码
Comparator