【问题标题】:Mapping infrared images to color images in the RealSense Library将红外图像映射到实感库中的彩色图像
【发布时间】:2019-03-03 23:48:07
【问题描述】:

我目前使用的是 Intel d435 相机。 我想对准左红外相机和彩色相机。

RealSense 库提供的对齐功能只有对齐深度和颜色的能力。

听说实感摄像头已经与左红外摄像头和深度摄像头对齐了。

但是,我无法使用此信息映射红外图像和彩色图像。深度图像再次通过对齐功能设置为彩色图像。我想知道如何将彩色图像与设置为初始状态深度的左红外图像拟合。

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 【Realsense客户工程团队点评】 @Panepo librealsense 演示中使用的 align 类在深度和其他一些流之间映射,反之亦然。我们不提供其他形式的流对齐方式。

但是有一个建议你可以尝试一下,基本上映射是一种三角测量技术,我们通过 3D 空间中像素的交点来找到它在另一帧中的原点,当源数据为深度(Z16 格式)。在两个非深度流之间进行映射的一种可能方法是播放三个流(Depth+IR+RGB),然后计算 Depth to Color 的 UV map,然后使用这个 UV map 重新映射 IR 帧(记住 Depth 和 left IR 按设计对齐)。

希望建议能给你一些想法。 ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 这是英特尔公司建议的方法。

您能否解释一下通过使用深色和彩色图像创建 UV 贴图来解决问题意味着什么? RealSense2库有UV贴图功能吗?

我需要你宝贵的答案。

【问题讨论】:

    标签: opencv camera camera-calibration infrared realsense


    【解决方案1】:

    是的,英特尔实感 SDK 2.0 提供类 PointCloud。 那么你 - 配置传感器 -开始流式传输 - 获得颜色和深度帧 -get UV Map 如下(C#):

    var pointCloud = new PointCloud();
    pointCloud.MapTexture(colorFrame);
    var points = pointCloud.Calculate(depthFrame);
    var vertices = new Points.Vertex[depth frame height * depth frame width];
    var uvMap = new Points.TextureCoordinate[depth frame height * depth frame width];
    points.CopyTo(vertices);
    points.CopyTo(uvMap);
    

    您将获得的 uvMap 是颜色映射的归一化深度

    注意:如果深度与颜色对齐,则顶点的大小和 UV 贴图是使用颜色框架的宽度和高度计算的

    【讨论】:

      猜你喜欢
      • 2015-04-04
      • 2018-12-13
      • 1970-01-01
      • 2011-11-24
      • 2013-07-26
      • 1970-01-01
      • 2017-08-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多