Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 深度的三维投影&x2B;颜色_C++_Image Processing_Kinect_Projection - Fatal编程技术网

C++ 深度的三维投影&x2B;颜色

C++ 深度的三维投影&x2B;颜色,c++,image-processing,kinect,projection,C++,Image Processing,Kinect,Projection,我有一个彩色图像及其深度图,这两个都是由Kinect拍摄的。我想将它投影到另一个位置(以查看它在另一个视点中的外观)。因为我没有Kinect的内在参数(相机参数);我如何实现它 S:我在C++中编写代码。用深度框和颜色框,你应该有足够的数据来达到与你想做的类似的事情。 在颜色框中,您拥有每个像素的颜色。 在深度帧中,有每个像素的距离 (请记住,由于每个传感器的位置,深度帧和颜色帧中的数据之间存在一个小间隙。请查看映射帮助器方法:) 如果同时获取深度和颜色帧中的所有数据,则可以将每个像素绘制为三维

我有一个彩色图像及其深度图,这两个都是由Kinect拍摄的。我想将它投影到另一个位置(以查看它在另一个视点中的外观)。因为我没有Kinect的内在参数(相机参数);我如何实现它


S:我在C++中编写代码。

用深度框和颜色框,你应该有足够的数据来达到与你想做的类似的事情。 在颜色框中,您拥有每个像素的颜色。 在深度帧中,有每个像素的距离

(请记住,由于每个传感器的位置,深度帧和颜色帧中的数据之间存在一个小间隙。请查看映射帮助器方法:)

如果同时获取深度和颜色帧中的所有数据,则可以将每个像素绘制为三维世界中的一个点。假设您的分辨率为640x480。您将在640(x=宽度)、480(y=高度)和~3000(z=深度)的矩形中绘制场景。然后你可以改变观点

唯一的问题是,Z轴的比例不正确。如果希望获得更好的结果,还应使用SkeletonFrame。因此,您将获得实际的X、Y和Z值(以米为单位)。同样,您可以使用helper方法()为每个深度点获取相应的骨架点


如果你看一看,你会发现一段显示结果的视频,一些C#语言的代码,以及一个可以重用的项目示例。

你想用它实现什么,你考虑过使用ROS(机器人操作系统)吗,它有一个内置的kinect驱动程序和一个很棒的可视化工具,你可以用它来放大和查看你喜欢的任何角度。Ben-我正在尝试比较kinect的原始深度图和我已经后期处理过的深度图。一个好方法是比较视图合成的结果。我想知道如何合成合成图像,而我没有任何相机参数。我不知道C++,但有趣:谢谢你Renaud,关于深度和颜色之间的差距;我已经纠正了彩色图像与深度图匹配。我会仔细检查你寄来的邮件;我看起来很有趣。