mirror of
https://github.com/nerfstudio-project/nerfstudio.git
synced 2026-11-11 02:24:38 +08:00
Merge 6e2c946e0c into 50e0e3c70c
This commit is contained in:
commit
bc1a6924bd
@ -300,8 +300,7 @@ def write_images_binary(images, path_to_model_file):
|
||||
write_next_bytes(fid, img.qvec.tolist(), "dddd")
|
||||
write_next_bytes(fid, img.tvec.tolist(), "ddd")
|
||||
write_next_bytes(fid, img.camera_id, "i")
|
||||
for char in img.name:
|
||||
write_next_bytes(fid, char.encode("utf-8"), "c")
|
||||
fid.write(img.name.encode("utf-8"))
|
||||
write_next_bytes(fid, b"\x00", "c")
|
||||
write_next_bytes(fid, len(img.point3D_ids), "Q")
|
||||
for xy, p3d_id in zip(img.xys, img.point3D_ids):
|
||||
|
||||
24
tests/process_data/test_colmap_binary_image_names.py
Normal file
24
tests/process_data/test_colmap_binary_image_names.py
Normal file
@ -0,0 +1,24 @@
|
||||
from pathlib import Path
|
||||
|
||||
import numpy as np
|
||||
|
||||
from nerfstudio.data.utils.colmap_parsing_utils import Image, read_images_binary, write_images_binary
|
||||
|
||||
|
||||
def test_multibyte_image_name_roundtrip(tmp_path: Path):
|
||||
image = Image(
|
||||
id=7,
|
||||
qvec=np.array([1, 0, 0, 0]),
|
||||
tvec=np.zeros(3),
|
||||
camera_id=3,
|
||||
name="室内/café.png",
|
||||
xys=np.array([[2.5, 1.0]]),
|
||||
point3D_ids=np.array([17]),
|
||||
)
|
||||
path = tmp_path / "images.bin"
|
||||
write_images_binary({image.id: image}, path)
|
||||
restored = read_images_binary(path)[image.id]
|
||||
|
||||
assert restored.name == image.name
|
||||
np.testing.assert_array_equal(restored.xys, image.xys)
|
||||
np.testing.assert_array_equal(restored.point3D_ids, image.point3D_ids)
|
||||
Loading…
Reference in New Issue
Block a user