gpt4 book ai didi

c++ - 将深度像素映射到彩色像素

转载 作者:太空宇宙 更新时间:2023-11-03 22:32:22 24 4
gpt4 key购买 nike

我是kinect新手。谁能告诉我如何将深度像素映射到彩色像素?
我找到了这个示例代码:

P3D.x = (x_d - cx_d) * depth(x_d,y_d) / fx_d

P3D.y = (y_d - cy_d) * depth(x_d,y_d) / fy_d

P3D.z = depth(x_d,y_d)

P3D' = R.P3D + T

P2D_rgb.x = (P3D'.x * fx_rgb / P3D'.z) + cx_rgb

P2D_rgb.y = (P3D'.y * fy_rgb / P3D'.z) + cy_rgb

我在没有 kinect 的情况下工作,当我在我的 c++ 程序中使用这段代码时,我遇到了很多错误。

提前致谢。

最佳答案

您还可以使用 OpenKinect/freenect .有 C++ 和 OpenCV 的包装器,效果很好。如果您想在没有 kinect 的情况下测试您的代码,您可以使用 libfreenect 中包含的 fakenect。

关于校准和相机到真实世界坐标,最简单的方法是使用 freenect 的默认参数,使用 FREENECT_DEPTH_REGISTERED 标志对齐颜色和深度图像。如果您选择使用此选项,您将需要破解 fakenect,用 FREENECT_DEPTH_REGISTERED 标志替换所有 FREENECT_DEPTH_11BIT,这是曾经做过的 here .

此函数 void freenect_camera_to_world(freenect_device* dev, int cx, int cy, int wz, double* wx, double* wy); 将允许您使用注册的深度像素映射颜色像素模式。如果你想做相反的事情(用彩色像素映射深度像素),那里有很好的解释:

http://nicolas.burrus.name/index.php/Research/KinectCalibration http://labs.manctl.com/rgbdemo/index.php/Documentation/KinectCalibrationTheory

关于c++ - 将深度像素映射到彩色像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20188236/

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