From dd4414ff0dca354f8cfc20b53011e8fe770924f5 Mon Sep 17 00:00:00 2001 From: Askill Date: Sun, 29 May 2022 12:08:56 +0200 Subject: [PATCH] plotting image --- go/server.go | 2 +- python/clients.py | 26 +++++++++++++++++++------- python/requirements.txt | 3 ++- 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/go/server.go b/go/server.go index be66156..5411778 100644 --- a/go/server.go +++ b/go/server.go @@ -14,7 +14,7 @@ var upgrader = websocket.Upgrader{ ReadBufferSize: 2048, WriteBufferSize: 2048, } -var img = GetImage(1000, 1000) +var img = GetImage(100, 100) func get(w http.ResponseWriter, r *http.Request) { c, err := upgrader.Upgrade(w, r, nil) diff --git a/python/clients.py b/python/clients.py index b933dfa..d00034a 100644 --- a/python/clients.py +++ b/python/clients.py @@ -7,9 +7,12 @@ import datetime import json import random import time +import matplotlib +from matplotlib import pyplot as plt +import numpy as np import websockets - +import cv2 @dataclass class pixel: @@ -23,9 +26,9 @@ async def sender(): async with websockets.connect("ws://localhost:8080/set") as websocket: while True: message = pixel( - x=random.randint(0, 990), - y=random.randint(0, 990), - color=random.randint(0,15), + x=random.randint(0, 99), + y=random.randint(0, 99), + color=random.randint(0,11), timestamp=int(time.time()), userid=1, ) @@ -34,15 +37,24 @@ async def sender(): await asyncio.sleep(0.1) async def client(): + image = np.zeros(shape=[100, 100, 3], dtype=np.uint8) + colors = [] + for name, hex in matplotlib.colors.cnames.items(): + colors.append(matplotlib.colors.to_rgb(hex)) + async with websockets.connect("ws://localhost:8080/get") as websocket: i= 0 while True: i+=1 - x = await websocket.recv() - #print(i, x) + x = pixel(**json.loads(await websocket.recv())) + image[x.x][x.y] = ([y*255 for y in colors[x.color]]) + if i% 1000 == 0: + cv2.imshow("changes x", image) + cv2.waitKey(10) & 0XFF + print(i, x) async def main(): - coros = [sender() for _ in range(500)] + coros = [sender() for _ in range(100)] coros.append(client()) returns = await asyncio.gather(*coros) diff --git a/python/requirements.txt b/python/requirements.txt index d5fb6a7..67f9553 100644 --- a/python/requirements.txt +++ b/python/requirements.txt @@ -1,3 +1,4 @@ websockets numpy -matplotlib \ No newline at end of file +matplotlib +opencv-python \ No newline at end of file