1

我正在寻找将颜色空间转换为相机空间的转换矩阵。

我知道可以使用CoordinateMapper完成点转换,但我没有使用 Kinect v2 官方 API。

如果有人可以分享转换矩阵,我真的很感激,它可以将色彩空间转换为相机空间。

一如既往,非常感谢。

4

1 回答 1

2

重要提示:原始 kinect RGB 图像有失真。先把它去掉。

简短的回答

您正在搜索的“变换矩阵”称为投影矩阵。

rgb.cx:959.5
rgb.cy:539.5
rgb.fx:1081.37
rgb.fy:1081.37

长答案

首先了解在 Kinect 中如何生成彩色图像。

X, Y, Z:坐标空间中给定点的坐标,其中 kinect 传感器被视为原点。又名相机空间。请注意,相机空间是 3D。

u, v:颜色空间中对应颜色像素的坐标。请注意,色彩空间是二维的。

fx , fy:焦距

cx, cy : 主点(可以将kinect RGB相机的主点作为图像的中心)

(R|t):外部相机矩阵。在 kinect 中,您可以将其视为(I|0),其中I是单位矩阵。

s:定标器值。您可以将其设置为 1。

要获得fx、fy、cx、cy的最准确值,您需要使用棋盘在 kinect 中校准 rgb 相机。

上面的fx 、 fy 、 cx 、 cy值是我自己对我的 kinect 的校准。这些值在非常小的范围内从一个 kinect 到另一个不同。

更多信息和实施

所有 Kinect 相机矩阵

歪曲

登记

我在 CUDA 中实现了注册过程,因为 CPU 速度不够快,无法实时处理那么多数据(每秒 1920 x 1080 x 30 矩阵计算)。

于 2017-11-26T12:14:06.153 回答