深度与视频同步
深度与视频同步
类似示例
演示

设置
Command Line
1git clone https://github.com/luxonis/depthai-python.git
2cd depthai-python/examples
3python3 install_requirements.py源代码
Python
PythonGitHub
1import depthai as dai
2import numpy as np
3import cv2
4from datetime import timedelta
5
6pipeline = dai.Pipeline()
7
8monoLeft = pipeline.create(dai.node.MonoCamera)
9monoRight = pipeline.create(dai.node.MonoCamera)
10color = pipeline.create(dai.node.ColorCamera)
11stereo = pipeline.create(dai.node.StereoDepth)
12sync = pipeline.create(dai.node.Sync)
13
14xoutGrp = pipeline.create(dai.node.XLinkOut)
15
16xoutGrp.setStreamName("xout")
17
18monoLeft.setResolution(dai.MonoCameraProperties.SensorResolution.THE_400_P)
19monoLeft.setCamera("left")
20monoRight.setResolution(dai.MonoCameraProperties.SensorResolution.THE_400_P)
21monoRight.setCamera("right")
22
23stereo.setDefaultProfilePreset(dai.node.StereoDepth.PresetMode.HIGH_ACCURACY)
24
25color.setCamera("color")
26
27sync.setSyncThreshold(timedelta(milliseconds=50))
28
29monoLeft.out.link(stereo.left)
30monoRight.out.link(stereo.right)
31
32stereo.disparity.link(sync.inputs["disparity"])
33color.video.link(sync.inputs["video"])
34
35sync.out.link(xoutGrp.input)
36
37disparityMultiplier = 255.0 / stereo.initialConfig.getMaxDisparity()
38with dai.Device(pipeline) as device:
39 queue = device.getOutputQueue("xout", 10, False)
40 while True:
41 msgGrp = queue.get()
42 for name, msg in msgGrp:
43 frame = msg.getCvFrame()
44 if name == "disparity":
45 frame = (frame * disparityMultiplier).astype(np.uint8)
46 frame = cv2.applyColorMap(frame, cv2.COLORMAP_JET)
47 cv2.imshow(name, frame)
48 if cv2.waitKey(1) == ord("q"):
49 break工作原理
- 初始化左右摄像机的 MonoCamera 节点。
- 设置 ColorCamera 节点。
- 创建一个 StereoDepth 节点以进行深度感知。
- 配置 Sync 节点以同步来自 StereoDepth 节点的视差和来自 ColorCamera 节点的视频帧。
- 使用 OpenCV 显示同步后的帧。帧同步阈值为 50 毫秒。
需要帮助?
请前往 Discussion Forum 获取技术支持或提出您可能有的任何其他问题。