我目前使用的是英特尔d435摄像头。我想对准左红外相机和彩色相机。
RealSense库提供的align函数只能对齐深度和颜色。
我听说RealSense相机已经和左红外相机和深度相机对齐了。
但是,我无法使用此信息映射红外图像和彩色图像。深度图像再次通过align函数设置为彩色图像。我想知道如何将彩色图像与设置为初始状态深度的左红外图像进行拟合。
Panepo Realsense客户工程团队评论@ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ,librealsense演示中使用的align类在深度和其他流之间进行映射,反之亦然。我们不提供其他形式的流对齐。
但建议您尝试一下,映射基本上是一种三角剖分技术,我们通过3D空间中像素的交点在另一帧中找到其原点,当源数据为深度(Z16格式)时,此方法可以正常工作。在两个非深度流之间映射的一种可能方法是播放三个流(Depth+IR+RGB),然后计算深度到颜色的UV贴图,然后使用此UV贴图重新映射IR帧(请记住,深度和左侧IR是设计对齐的)。
希望这个建议能给你一些启发。ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ这是英特尔公司建议的方法。
你能解释一下能够通过使用深度和彩色图像创建UV地图来解决问题意味着什么吗?RealSense2库是否具有UV贴图功能?
我需要你宝贵的答案。
发布于 2018-12-05 13:20:59
是的,英特尔RealSense SDK 2.0提供了PointCloud类。因此,您可以将传感器和流式-obtain颜色和深度帧与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贴图的大小
https://stackoverflow.com/questions/52547545
复制相似问题