|
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
-
- import time
- import urllib.request
-
- import cv2
- import numpy as np
- import pyarrow as pa
-
- from dora import Node
-
- print("Hello from no_webcam.py")
-
-
- CAMERA_WIDTH = 640
- CAMERA_HEIGHT = 480
-
- # Preprocessing the image
- req = urllib.request.urlopen(
- "https://img0.baidu.com/it/u=2940037857,1417768899&fm=253&fmt=auto&app=138&f=PNG?w=724&h=500"
- ) # This image works in china better
- arr = np.asarray(bytearray(req.read()), dtype=np.uint8)
- image = cv2.imdecode(arr, -1)[:, :, :3]
- image = cv2.resize(image, (CAMERA_WIDTH, CAMERA_HEIGHT))
-
- # Numpy -> Arrow
- image = pa.array(image.flatten().view(np.uint8))
- node = Node()
-
- start = time.time()
-
- while time.time() - start < 20:
- # Wait next dora_input
- event = node.next()
- match event["type"]:
- case "INPUT":
- print("received input", event["id"])
- node.send_output("image", image)
- case "STOP":
- print("received stop")
- case other:
- print("received unexpected event:", other)
|