mirror of https://github.com/commaai/openpilot.git
45 lines
1.1 KiB
Python
Executable File
45 lines
1.1 KiB
Python
Executable File
#!/usr/bin/env python
|
|
import os
|
|
import sys
|
|
import numpy as np
|
|
os.environ['ZMQ'] = '1'
|
|
|
|
from openpilot.common.window import Window
|
|
import cereal.messaging as messaging
|
|
|
|
# start camerad with 'SEND_ROAD=1 SEND_DRIVER=1 SEND_WIDE_ROAD=1 XMIN=771 XMAX=1156 YMIN=483 YMAX=724 ./camerad'
|
|
# also start bridge
|
|
# then run this "./receive.py <ip>"
|
|
|
|
if "FULL" in os.environ:
|
|
SCALE = 2
|
|
XMIN, XMAX = 0, 1927
|
|
YMIN, YMAX = 0, 1207
|
|
else:
|
|
SCALE = 1
|
|
XMIN = 771
|
|
XMAX = 1156
|
|
YMIN = 483
|
|
YMAX = 724
|
|
H, W = ((YMAX-YMIN+1)//SCALE, (XMAX-XMIN+1)//SCALE)
|
|
|
|
if __name__ == '__main__':
|
|
cameras = ['roadCameraState', 'wideRoadCameraState', 'driverCameraState']
|
|
if "CAM" in os.environ:
|
|
cam = int(os.environ['CAM'])
|
|
cameras = cameras[cam:cam+1]
|
|
sm = messaging.SubMaster(cameras, addr=sys.argv[1])
|
|
win = Window(W*len(cameras), H)
|
|
bdat = np.zeros((H, W*len(cameras), 3), dtype=np.uint8)
|
|
|
|
while 1:
|
|
sm.update()
|
|
for i,k in enumerate(cameras):
|
|
if sm.updated[k]:
|
|
#print("update", k)
|
|
bgr_raw = sm[k].image
|
|
dat = np.frombuffer(bgr_raw, dtype=np.uint8).reshape(H, W, 3)[:, :, [2,1,0]]
|
|
bdat[:, W*i:W*(i+1)] = dat
|
|
win.draw(bdat)
|
|
|