parent
ccfac589a2
commit
9b40f9ab5f
2 changed files with 0 additions and 105 deletions
@ -1,61 +0,0 @@ |
|||||||
import sys |
|
||||||
import pygame |
|
||||||
import cv2 |
|
||||||
|
|
||||||
class Window: |
|
||||||
def __init__(self, w, h, caption="window", double=False, halve=False): |
|
||||||
self.w = w |
|
||||||
self.h = h |
|
||||||
pygame.display.init() |
|
||||||
pygame.display.set_caption(caption) |
|
||||||
self.double = double |
|
||||||
self.halve = halve |
|
||||||
if self.double: |
|
||||||
self.rw, self.rh = w*2, h*2 |
|
||||||
elif self.halve: |
|
||||||
self.rw, self.rh = w//2, h//2 |
|
||||||
else: |
|
||||||
self.rw, self.rh = w, h |
|
||||||
self.screen = pygame.display.set_mode((self.rw, self.rh)) |
|
||||||
pygame.display.flip() |
|
||||||
|
|
||||||
# hack for xmonad, it shrinks the window by 6 pixels after the display.flip |
|
||||||
if self.screen.get_width() != self.rw: |
|
||||||
self.screen = pygame.display.set_mode((self.rw+(self.rw-self.screen.get_width()), self.rh+(self.rh-self.screen.get_height()))) |
|
||||||
pygame.display.flip() |
|
||||||
|
|
||||||
def draw(self, out): |
|
||||||
pygame.event.pump() |
|
||||||
if self.double: |
|
||||||
out2 = cv2.resize(out, (self.w*2, self.h*2)) |
|
||||||
pygame.surfarray.blit_array(self.screen, out2.swapaxes(0, 1)) |
|
||||||
elif self.halve: |
|
||||||
out2 = cv2.resize(out, (self.w//2, self.h//2)) |
|
||||||
pygame.surfarray.blit_array(self.screen, out2.swapaxes(0, 1)) |
|
||||||
else: |
|
||||||
pygame.surfarray.blit_array(self.screen, out.swapaxes(0, 1)) |
|
||||||
pygame.display.flip() |
|
||||||
|
|
||||||
def getkey(self): |
|
||||||
while 1: |
|
||||||
event = pygame.event.wait() |
|
||||||
if event.type == pygame.QUIT: |
|
||||||
pygame.quit() |
|
||||||
sys.exit() |
|
||||||
if event.type == pygame.KEYDOWN: |
|
||||||
return event.key |
|
||||||
|
|
||||||
def getclick(self): |
|
||||||
for event in pygame.event.get(): |
|
||||||
if event.type == pygame.MOUSEBUTTONDOWN: |
|
||||||
mx, my = pygame.mouse.get_pos() |
|
||||||
return mx, my |
|
||||||
|
|
||||||
if __name__ == "__main__": |
|
||||||
import numpy as np |
|
||||||
win = Window(200, 200, double=True) |
|
||||||
img: np.ndarray = np.zeros((200, 200, 3), np.uint8) |
|
||||||
while 1: |
|
||||||
print("draw") |
|
||||||
img += 1 |
|
||||||
win.draw(img) |
|
@ -1,44 +0,0 @@ |
|||||||
#!/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) |
|
||||||
|
|
Loading…
Reference in new issue