mirror of
https://git.roussel.pro/telecom-paris/pact.git
synced 2026-02-09 02:20:17 +01:00
Amélioration effets sur la camera
This commit is contained in:
@@ -1,14 +0,0 @@
|
||||
import asyncio
|
||||
import json
|
||||
import websockets
|
||||
|
||||
# create handler for each connection
|
||||
async def handler(websocket):
|
||||
data = await websocket.recv()
|
||||
print(data)
|
||||
await websocket.send(json.dumps({"type": "effects", "effects": [{"type": "thumbs_up", "x":13, "y": 30, "width": 50, "height": 50}]}))
|
||||
|
||||
|
||||
start_server = websockets.serve(handler, "localhost", 5000)
|
||||
asyncio.get_event_loop().run_until_complete(start_server)
|
||||
asyncio.get_event_loop().run_forever()
|
||||
28
code/borne/backend/exemple_overlay_camera.py
Normal file
28
code/borne/backend/exemple_overlay_camera.py
Normal file
@@ -0,0 +1,28 @@
|
||||
import asyncio
|
||||
import json
|
||||
import websockets
|
||||
import numpy as np
|
||||
import random
|
||||
|
||||
class WebsocketServer:
|
||||
def __init__(self,getEffects,port=5000,host="localhost") -> None:
|
||||
self.host = host
|
||||
self.port = port
|
||||
self.getEffects = getEffects
|
||||
|
||||
async def run(self):
|
||||
async with websockets.serve(self.handler, self.host, self.port):
|
||||
await asyncio.Future()
|
||||
|
||||
|
||||
async def handler(self,websocket):
|
||||
while True:
|
||||
messages = self.getEffects()
|
||||
await websocket.send(json.dumps(messages))
|
||||
|
||||
#Remplacer ça par la fonction qui récupère les effets (dans le module de reconnaissance de gestes)
|
||||
def getEffects():
|
||||
return {"type": "effects", "effects": [{"type": "thumbs_up", "x":random.randint(0,100), "y": random.randint(0,100), "width": 50, "height": 50}]}
|
||||
|
||||
server = WebsocketServer(getEffects)
|
||||
asyncio.run(server.run())
|
||||
@@ -54,6 +54,7 @@ class CameraEditor {
|
||||
|
||||
_frame() {
|
||||
const context = canvas.getContext("2d");
|
||||
if(this.streaming) {
|
||||
if (this.width && this.height) {
|
||||
canvas.width = this.width;
|
||||
canvas.height = this.height;
|
||||
@@ -61,6 +62,8 @@ class CameraEditor {
|
||||
this._drawEffects();
|
||||
}
|
||||
}
|
||||
requestAnimationFrame(() => this._frame());
|
||||
}
|
||||
|
||||
_drawEffects() {
|
||||
for (let {type,x,y,width,height} of this.activeEffects) {
|
||||
|
||||
Reference in New Issue
Block a user