4
0
mirror of https://github.com/nerfstudio-project/nerfstudio.git synced 2026-11-11 10:34:29 +08:00
This commit is contained in:
Afloat 2026-11-06 19:14:25 +00:00 committed by GitHub
commit d36752b83a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 19 additions and 3 deletions

View File

@ -75,7 +75,6 @@ def record3d_to_json(
# Camera intrinsics
K = np.array(metadata_dict["K"]).reshape((3, 3)).T
focal_length = K[0, 0]
H = metadata_dict["h"]
W = metadata_dict["w"]
@ -85,8 +84,8 @@ def record3d_to_json(
cx, cy = W / 2, H / 2
out = {
"fl_x": focal_length,
"fl_y": focal_length,
"fl_x": K[0, 0],
"fl_y": K[1, 1],
"cx": cx,
"cy": cy,
"w": W,

View File

@ -0,0 +1,17 @@
import json
from pathlib import Path
import numpy as np
from nerfstudio.process_data.record3d_utils import record3d_to_json
def test_record3d_preserves_distinct_focal_lengths(tmp_path: Path):
intrinsics = np.array([[500, 0, 320], [0, 525, 240], [0, 0, 1]], dtype=float)
metadata = {"K": intrinsics.T.flatten().tolist(), "h": 480, "w": 640, "poses": [[0, 0, 0, 1, 0, 0, 0]]}
path = tmp_path / "metadata.json"
path.write_text(json.dumps(metadata))
record3d_to_json([Path("frame.png")], path, tmp_path, np.array([0]), None, None)
output = json.loads((tmp_path / "transforms.json").read_text())
assert (output["fl_x"], output["fl_y"]) == (500, 525)