OpenSfM
OpenSfM copied to clipboard
Understanding OpenSfm Coordinate systems
I have seen this doc: https://opensfm.org/docs/cam_coord_system.html, but it has not answer my questions about the coordinate systems. For example in this code:
from opensfm import dataset
from opensfm import pygeometry
import numpy as np
path_to_data = 'data/berlin'
image_name = '01.jpg'
data = dataset.DataSet(path_to_data)
recs = data.load_reconstruction()[0]
shot = recs.shots[image_name]
cam = shot.camera
org = shot.pose.get_origin()
t_cam2world = pose.get_t_cam_to_world()
t_world2cam = pose.get_t_world_to_cam()
R_world_to_cam = pose.get_R_world_to_cam()
R_cam_to_world = pose.get_R_cam_to_world()
- What is the difference among
shot.pose.translation
,shot.pose.get_origin()
and shot.pose.get_t_world_to_cam()-
shot.pose.translation == [-39.92162186654672, 4.321152612338446, 42.30462302120646]
-
shot.pose.get_origin() == [-9.12350592612648, -4.150188496711767, 57.459785558064425]
-
shot.pose.get_t_world_to_cam() == [-0.48666580475695764, 6.902214741262238, 7.5422937224223965]
-
- What is the difference between
shot.pose.rotation
andshot.pose.get_R_cam_to_world()
-
shot.pose.rotation == [2.2100701859936356, 1.2014072132379674, 1.0844326019850279]
-
shot.pose.get_R_cam_to_world()
== 3x3 rotatio matrix
-
- Where can I find the documentation of these functions
- Thanks