gpt4 book ai didi

opencv - 在RealSense库中将红外图像映射为彩色图像

转载 作者:行者123 更新时间:2023-12-02 16:37:34 25 4
gpt4 key购买 nike

我目前使用的是Intel d435相机。
我想与左红外摄像头和彩色摄像头对齐。

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

我听说RealSense摄像头已经与左红外摄像头和深度摄像头对齐。

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

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
[Realsense客户工程团队评论]
@潘尼波
librealsense演示中使用的align类在depth和其他流之间进行映射,反之亦然。我们不提供其他形式的流对齐。

但建议您尝试一下,基本上,映射是一种三角剖分技术,通过该技术,我们可以遍历3D空间中像素的交点以找到其在另一帧中的原点,当源数据为深度(Z16格式)。在两个非深度流之间进行映射的一种可能方法是播放三个流(深度+ IR + RGB),然后计算“深度到颜色”的UV贴图,然后使用此UV贴图重新映射IR帧(请记住,深度和左移IR是按设计对齐的)。

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

您能解释通过使用深色和彩色图像创建UV贴图来解决问题的含义吗? RealSense2库是否具有UV贴图功能?

我需要你的宝贵答复。

最佳答案

是的,英特尔实感SDK 2.0提供了PointCloud类。
那么你
-配置传感器
开始流式传输
-获得颜色和深度框
-按如下方式获取UV贴图(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贴图

关于opencv - 在RealSense库中将红外图像映射为彩色图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52547545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com