27 lines
875 B
Python
27 lines
875 B
Python
from multiprocessing import Process
|
|
from collections import deque
|
|
from lib import cfg
|
|
from lib.camera.ArenaCamera import ArenaCamera
|
|
from lib.cfg.cfg import CameraControl
|
|
|
|
|
|
class Process3D(Process):
|
|
def __init__(self, cfg, in_q: deque, out_q: deque):
|
|
# 设置进程名称
|
|
super().__init__(name=f"3D-{cfg['title']}")
|
|
self.cfg = cfg
|
|
self.in_q = in_q
|
|
self.out_q = out_q
|
|
self.camera = ArenaCamera(cfg["sn"])
|
|
|
|
def run(self):
|
|
while True:
|
|
sig = self.in_q.get()
|
|
if sig == CameraControl.CAPTURE:
|
|
_, _, dep_img = self.camera.capture()
|
|
# self.out_q.put({self.cfg["title"]: dep_img})
|
|
self.out_q.put({"title": cfg["title"], "dep_img": dep_img})
|
|
elif sig == CameraControl.DESTORY:
|
|
self.camera.destroy()
|
|
break
|