C++ 深度的三维投影&x2B;颜色
我有一个彩色图像及其深度图,这两个都是由Kinect拍摄的。我想将它投影到另一个位置(以查看它在另一个视点中的外观)。因为我没有Kinect的内在参数(相机参数);我如何实现它C++ 深度的三维投影&x2B;颜色,c++,image-processing,kinect,projection,C++,Image Processing,Kinect,Projection,我有一个彩色图像及其深度图,这两个都是由Kinect拍摄的。我想将它投影到另一个位置(以查看它在另一个视点中的外观)。因为我没有Kinect的内在参数(相机参数);我如何实现它 S:我在C++中编写代码。用深度框和颜色框,你应该有足够的数据来达到与你想做的类似的事情。 在颜色框中,您拥有每个像素的颜色。 在深度帧中,有每个像素的距离 (请记住,由于每个传感器的位置,深度帧和颜色帧中的数据之间存在一个小间隙。请查看映射帮助器方法:) 如果同时获取深度和颜色帧中的所有数据,则可以将每个像素绘制为三维
S:我在C++中编写代码。
用深度框和颜色框,你应该有足够的数据来达到与你想做的类似的事情。 在颜色框中,您拥有每个像素的颜色。 在深度帧中,有每个像素的距离
(请记住,由于每个传感器的位置,深度帧和颜色帧中的数据之间存在一个小间隙。请查看映射帮助器方法:) 如果同时获取深度和颜色帧中的所有数据,则可以将每个像素绘制为三维世界中的一个点。假设您的分辨率为640x480。您将在640(x=宽度)、480(y=高度)和~3000(z=深度)的矩形中绘制场景。然后你可以改变观点 唯一的问题是,Z轴的比例不正确。如果希望获得更好的结果,还应使用SkeletonFrame。因此,您将获得实际的X、Y和Z值(以米为单位)。同样,您可以使用helper方法()为每个深度点获取相应的骨架点如果你看一看,你会发现一段显示结果的视频,一些C#语言的代码,以及一个可以重用的项目示例。你想用它实现什么,你考虑过使用ROS(机器人操作系统)吗,它有一个内置的kinect驱动程序和一个很棒的可视化工具,你可以用它来放大和查看你喜欢的任何角度。Ben-我正在尝试比较kinect的原始深度图和我已经后期处理过的深度图。一个好方法是比较视图合成的结果。我想知道如何合成合成图像,而我没有任何相机参数。我不知道C++,但有趣:谢谢你Renaud,关于深度和颜色之间的差距;我已经纠正了彩色图像与深度图匹配。我会仔细检查你寄来的邮件;我看起来很有趣。