flandre/test/sync_time_prepare.py

53 lines
1.6 KiB
Python
Raw Normal View History

2025-06-10 19:19:25 +08:00
from flandre.utils.RfFrame import b2t
import json
from pathlib import Path
import itertools
import cv2
import numpy as np
from nvidia import nvimgcodec
decoder = nvimgcodec.Decoder()
encoder = nvimgcodec.Encoder()
rec_folder = Path(
'/run/media/lambda/b86dccdc-f134-464b-a310-6575ee9ae85c/record2/')
robot_folder = rec_folder / 'robot'
robot_folder = rec_folder / 'robot'
d: dict[int, dict] = dict()
for file in robot_folder.glob('*'):
for line in file.read_text().splitlines():
s = line.split(',')
v = dict(
host_ts=int(s[0]),
device_ts=int(float(s[1])*10**9),
x=float(s[2]),
y=float(s[3]),
z=float(s[4]),
rx=float(s[5]),
ry=float(s[6]),
rz=float(s[7]),
fx=float(s[8]),
fy=float(s[9]),
fz=float(s[10]),
frx=float(s[11]),
fry=float(s[12]),
frz=float(s[13]),
)
d[v['host_ts']] = v
(rec_folder/'robot.json').write_text(json.dumps(d))
for file in Path('/run/media/lambda/b86dccdc-f134-464b-a310-6575ee9ae85c/record2/camera_raw').glob('*.bin'):
fb = Path(file).read_bytes()
b = np.frombuffer(fb, dtype=np.uint8).reshape(
(1080, 1920, 3))
b = cv2.cvtColor(b, cv2.COLOR_BGR2RGB)
# cv2.imshow('',)
# cv2.waitKey(0)
# enc_params = nvimgcodec.EncodeParams(quality=5, chroma_subsampling=nvimgcodec.ChromaSubsampling.CSS_GRAY)
# encoder.write('a.jpg', b, params=enc_params)
encoder.write((file.parent.parent/'camera' /
file.with_suffix('.jpg').name).__str__(), b)