53 lines
1.6 KiB
Python
53 lines
1.6 KiB
Python
|
|
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)
|