You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
1003 B
31 lines
1003 B
#!/usr/bin/env python3
|
|
|
|
import os
|
|
|
|
from tqdm import tqdm
|
|
|
|
from openpilot.tools.lib.logreader import LogReader
|
|
from openpilot.tools.lib.route import Route
|
|
|
|
import argparse
|
|
|
|
if __name__ == "__main__":
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument("route", help="The route name")
|
|
parser.add_argument("segment", type=int, help="The index of the segment")
|
|
args = parser.parse_args()
|
|
|
|
out_path = os.path.join("jpegs", f"{args.route.replace('|', '_')}_{args.segment}")
|
|
os.makedirs(out_path, exist_ok=True)
|
|
|
|
r = Route(args.route)
|
|
path = r.log_paths()[args.segment] or r.qlog_paths()[args.segment]
|
|
lr = list(LogReader(path))
|
|
|
|
for msg in tqdm(lr):
|
|
if msg.which() == 'thumbnail':
|
|
with open(os.path.join(out_path, f"{msg.thumbnail.frameId}.jpg"), 'wb') as f:
|
|
f.write(msg.thumbnail.thumbnail)
|
|
elif msg.which() == 'navThumbnail':
|
|
with open(os.path.join(out_path, f"nav_{msg.navThumbnail.frameId}.jpg"), 'wb') as f:
|
|
f.write(msg.navThumbnail.thumbnail)
|
|
|