相机位姿转colmap位姿
def convert_extrinsic(camera_id, frame_id, input_extrinsic_filepath, frame_file_name, output_extrinsic_file):
with open(input_extrinsic_filepath) as iput_extrinsic:
contents = json.load(iput_extrinsic)
pos = np.asarray(contents['pos'])
rot = np.asarray(contents['rot'])
rotationInverse = R.from_euler('zyx', [rot[0], -rot[2], rot[1]], False).inv() #
pos = [-pos[1], -pos[2], pos[0]]
pos = -rotationInverse.as_matrix().dot(pos)
q = rotationInverse.as_quat()
w, x, y, z = q[3], q[0], q[1], q[2]
output_extrinsic_file.write(' '.join(
[str(frame_id), str(w), str(x), str(y), str(z), str(pos[0]), str(pos[1]), str(pos[2]), str(camera_id),
frame_file_name]))
output_extrinsic_file.write('\n') # fake, not used
output_extrinsic_file.write('\n')
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库