Opencv 将pcl xyzrgb(a)点云转换为来自云的不同角度的图像

Opencv 将pcl xyzrgb(a)点云转换为来自云的不同角度的图像,opencv,point-cloud-library,point-clouds,Opencv,Point Cloud Library,Point Clouds,我想从不同角度从我的点云(Kinect)生成图像,但拍摄快照的唯一功能似乎需要打开查看器(打开窗口)并将图像保存到文件中。我希望稍后处理它们并在自定义查看器中显示它们,因此存储在RAM中是必要的 点云库是否提供了这种方法?或者有人知道pcl的方法会是什么样子吗 我的第二种方法是使用opencv垫。然后使用用于投影,但这适用于xyz坐标,而不是xyzrgb(a),我将丢失点云点的颜色属于新投影图像的信息 我有点困在这里:(希望你能帮助我:) 非常感谢 问候 Carlo我不相信有一种方法可以使用PC

我想从不同角度从我的点云(Kinect)生成图像,但拍摄快照的唯一功能似乎需要打开查看器(打开窗口)并将图像保存到文件中。我希望稍后处理它们并在自定义查看器中显示它们,因此存储在RAM中是必要的

点云库是否提供了这种方法?或者有人知道pcl的方法会是什么样子吗

我的第二种方法是使用opencv垫。然后使用用于投影,但这适用于xyz坐标,而不是xyzrgb(a),我将丢失点云点的颜色属于新投影图像的信息

我有点困在这里:(希望你能帮助我:)

非常感谢

问候
Carlo

我不相信有一种方法可以使用PCL函数来实现这一点。然而,PCL使用VTK来构建它的查看器,我相信您可以通过使用VTK功能来实现您所说的,尽管它可能会更加复杂。也许是个好的开始

OpenCV 3.4.0(如果它是从源代码构建的)有一个名称空间cv::viz。这个名称空间是VTK包装器(在构建OpenCV之前,应该在PC上安装并配置VTK)。viz提供了创建自定义小部件的机会,这些小部件使用OpenCV格式的输入数据,但能够在内部使用VTK指令。VTK提供了将3d场景投影到2d图像的机会。因此,您将能够将3d点云作为opencv Point3f阵列投影到opencv Mat