2 feitianhu213 feitianhu213 于 2014.09.13 22:54 提问

Kinect 根据深度图像坐标获取彩色图像像素点

在 Kinect 中虽然可以通过相应的 api 把深度图像坐标转换到彩色图像坐标。但是我现在希望用彩色图像显示出某点与深度图像对应的像素。

如果通过api MapDepthToColorImagePoint,只能得到彩色图像的像素坐标。

假如我现在得到了彩色图像的像素坐标了,那我也没办法直接通过该坐标知道该像素的具体信息(RGB值)吧?因为像素的信息是存放在 frame 结构体中的texture 的 rect 中的,而里面是以一维数组的形式存放像素点的。

也就是说彩色图像的坐标与彩色像素点的存放不存在直接对应关系,还要通过转换才能得到。问题是我应该如何转换?

又比如我现在知道一个彩色图像的像素点坐标是:x = 3,y = 4,那么我怎么知道该像素点的 rgb 信息呢?或者说我怎么知道其对应 rect 中数组的那个索引呢?谢谢!

1个回答

feitianhu213
feitianhu213   2014.09.13 23:01

应该通过坐标系进行转换,彩色图像的坐标系是以中心为原点的,x 轴向右为正,y 轴向上为正。

假设图像的分辨率为:980*1024 则原点的位置在:490 行,512 列。

现在假设图像象素的坐标为:x,y 则应该对应的位置是:x + 512 列,-y + 490 行。

但是这样太麻烦了,而且这样要图像像素坐标有何用?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!