mirror of
https://github.com/MoreTore/openpilot.git
synced 2026-10-11 00:33:50 +08:00
c702fec812
- Changed references in onboarding and settings layouts to point to stable.konik.ai for terms and pairing instructions. - Updated pull request template to reflect new dongle ID and route URL. - Modified translations in multiple languages to replace connect.comma.ai with stable.konik.ai. - Adjusted API endpoints and URLs in various scripts and documentation to align with the new stable.konik.ai domain.
44 lines
1.2 KiB
Python
Executable File
44 lines
1.2 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
import sys
|
|
|
|
if len(sys.argv) < 4:
|
|
print(f"{sys.argv[0]} <route> <segment> <frame number> [front|wide|driver]")
|
|
print('example: ./fetch_image_from_route.py "02c45f73a2e5c6e9|2020-06-01--18-03-08" 3 500 driver')
|
|
exit(0)
|
|
|
|
cameras = {
|
|
"front": "cameras",
|
|
"wide": "ecameras",
|
|
"driver": "dcameras"
|
|
}
|
|
|
|
import requests
|
|
from PIL import Image
|
|
from openpilot.tools.lib.auth_config import get_token
|
|
from openpilot.tools.lib.framereader import FrameReader
|
|
|
|
jwt = get_token()
|
|
|
|
route = sys.argv[1]
|
|
segment = int(sys.argv[2])
|
|
frame = int(sys.argv[3])
|
|
camera = cameras[sys.argv[4]] if len(sys.argv) > 4 and sys.argv[4] in cameras else "cameras"
|
|
|
|
url = f'https://api.konik.ai/v1/route/{route}/files'
|
|
r = requests.get(url, headers={"Authorization": f"JWT {jwt}"}, timeout=10)
|
|
assert r.status_code == 200
|
|
print("got api response")
|
|
|
|
segments = r.json()[camera]
|
|
if segment >= len(segments):
|
|
raise Exception(f"segment {segment} not found, got {len(segments)} segments")
|
|
|
|
fr = FrameReader(segments[segment])
|
|
if frame >= fr.frame_count:
|
|
raise Exception("frame {frame} not found, got {fr.frame_count} frames")
|
|
|
|
im = Image.fromarray(fr.get(frame))
|
|
fn = f"uxxx_{route.replace('|', '_')}_{segment}_{frame}.png"
|
|
im.save(fn)
|
|
print(f"saved {fn}")
|