Files
hirres_tractor_vision/lib/io/process3d.py
2025-06-03 18:24:32 +08:00

29 lines
951 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(self.cfg["sn"])
def run(self):
camera = ArenaCamera(self.cfg["sn"])
camera.create()
while True:
sig = self.in_q.get()
if sig == CameraControl.CAPTURE:
_, _, dep_img = camera.capture()
# self.out_q.put({self.cfg["title"]: dep_img})
self.out_q.put({"title": self.cfg["title"], "dep_img": dep_img})
elif sig == CameraControl.DESTORY:
self.camera.destroy()
break