Matlab中的深度图像

Matlab中的深度图像,matlab,image-processing,computer-vision,kinect-v2,depth-testing,Matlab,Image Processing,Computer Vision,Kinect V2,Depth Testing,我有一张从Kinect V2拍摄的深度图像,如下所示。我想在Matlab中提取任意特定坐标下的像素值x及其深度值。我在Matlab中使用了下面的代码,但它给了我16位的值。然而,我不确定是像素值还是像素x的深度值 im=imread('image_depth.png'); val=im(88,116); display(val); Result val= (uint16) 2977 有人能帮我吗,如何在Matlab中同时提取像素和深度值 根据您的描述和文件名,图像中每个位置的值都是深度值 如

我有一张从Kinect V2拍摄的深度图像,如下所示。我想在Matlab中提取任意特定坐标下的像素值x及其深度值。我在Matlab中使用了下面的代码,但它给了我16位的值。然而,我不确定是像素值还是像素x的深度值

im=imread('image_depth.png');
val=im(88,116);
display(val);

Result
val= (uint16) 2977
有人能帮我吗,如何在Matlab中同时提取像素和深度值


根据您的描述和文件名,图像中每个位置的值都是深度值

如果您需要每个像素的实际颜色值,它们可能会存储在单独的图像文件中,希望具有相同的尺寸

您在这里看到的可能是使用MATLAB或图片查看软件将深度值标准化为可显示区域


您需要查看规格,以了解2977等值如何转换为物理世界(例如cm)。希望它只是一个标量值,您可以将其相乘以得到答案。

图像名称暗示它是一个深度贴图。颜色贴图通常以不同的分辨率存储在单独的文件中,如果尚未对齐,则会出现一些偏移。要对齐RGB和深度图像,请参见:

还有子链接

使用颜色选择器提供的图像与内部轮廓的颜色相同。这暗示它不是深度贴图,或者它的位宽度太低,或者SO+Brownser转换失去精度。如果内部的任何像素也为您返回相同的数字,则深度贴图不可用

如果峰值返回16位值,则提示原始Kinect深度值。如果情况属实,请参见:

否则,它可能只是缩放深度,以便您可以将
x
值转换为深度,如:

depth = a0 + x*(a1-a0)
其中,
是图像的深度范围,应在数据集源中的某个位置声明