此页面由 AI 自动翻译。查看英文原版

本页目录

  • 如何放置它
  • 输入和输出
  • 配置
  • 用法
  • 功能示例
  • 参考

RGBD

Supported on:RVC2RVC4
RGBD 节点将同步的深度和彩色帧合并为单个点云和 RGB-D 数据流。它在内部使用 Sync 子节点来对齐深度(来自 StereoDepth 节点)和彩色图像,以便在主机上进行处理。

如何放置它

Python

Python
1import depthai as dai
2
3with dai.Pipeline() as pipeline:
4  rgbd = pipeline.create(dai.node.RGBD)
5  # 将 color 和 depth 的输出链接到 RGBD 的输入
6  color.out.link(rgbd.inColor)
7  depth.out.link(rgbd.inDepth)
8
9  # 或者使用 autocreate
10  rgbd = pipeline.create(dai.node.RGBD).build(
11      autocreate=True,
12      presetMode=dai.StereoDepth.PresetMode.DEFAULT,
13      size=(640, 400)
14  )
15  pipeline.start()

C++

C++
1#include <depthai/pipeline/Pipeline.hpp>
2#include <depthai/pipeline/node/host/RGBD.hpp>
3
4using namespace dai;
5
6Pipeline pipeline;
7auto rgbd = pipeline.create<node::RGBD>();
8// 将 color 和 depth 的输出链接到 RGBD 的输入
9color->out.link(rgbd->inColor);
10depth->out.link(rgbd->inDepth);
11
12// 或者使用 autocreate
13rgbd = pipeline.create<node::RGBD>().build(
14    autocreate=true,
15    presetMode=StereoDepth::PresetMode::DEFAULT,
16    std::pair<int, int> size = {640, 400}
17);

输入和输出

Sync 子节点将彩色和深度帧对齐为 MessageGroup,然后再进行处理。

配置

  • build() / build(autocreate, presetMode, size) - 创建节点,可以选择自动创建 color/depth 节点,选择 StereoDepth::PresetMode,并指定帧大小为 (width, height)
  • setDepthUnit(depthUnit) - 通过 StereoDepthConfig::AlgorithmControl::DepthUnit 选择用于转换的深度单位(例如,毫米或米)。
  • useCPU() - 强制单线程 CPU 处理(默认)。
  • useCPUMT(numThreads) - 启用多线程 CPU 处理,指定 numThreads(默认:2)。
  • useGPU(device) - 将处理卸载到 GPU(需要 Kompute 支持),可以选择指定 GPU 设备索引。
  • printDevices() - 打印可用的 GPU 设备和功能。

用法

放置并链接后,启动管道并获取输出:
Python
1with dai.Pipeline() as p:
2    qPcl = rgbd.pcl.createOutputQueue()
3    qRgbd = rgbd.rgbd.createOutputQueue()
4    pipeline.start()
5    pipeline.start()
6        pclData = qPcl.get()   # type: dai.PointCloudData
7        rgbdData = qRgbd.get() # type: dai.RGBDData

功能示例

参考

class

dai::node::RGBD

#include RGBD.hpp
variable
variable
InputMap & inputs
variable
std::string colorInputName
variable
std::string depthInputName
variable
Input & inColor
variable
Input & inDepth
variable
Output pcl
Output point cloud.
variable
Output rgbd
Output RGBD frames.
function
RGBD()
function
~RGBD()
function
std::shared_ptr< RGBD > build()
function
std::shared_ptr< RGBD > build(bool autocreate, StereoDepth::PresetMode mode, std::pair< int, int > frameSize, std::optional< float > fps)
function
std::shared_ptr< RGBD > build(const std::shared_ptr< Camera > & camera, const DepthSource & depthSource, std::pair< int, int > frameSize, std::optional< float > fps)
function
void setDepthUnit(StereoDepthConfig::AlgorithmControl::DepthUnit depthUnit)
function
void useCPU()
function
void useCPUMT(uint32_t numThreads)
function
void useGPU(uint32_t device)
function
void printDevices()
function
void buildInternal()

需要帮助?

请前往 Discussion Forum 获取技术支持或提出您可能有的任何其他问题。