C# 我用Azure Kinect拍摄了一张深度图像,但黑色区域的像素值不是0

C# 我用Azure Kinect拍摄了一张深度图像,但黑色区域的像素值不是0,c#,opencv,kinect,depth,C#,Opencv,Kinect,Depth,我使用azure kinect通过微软的C#body跟踪示例拍摄了一张深度图像 使用opencv,我试图找到像素值为0的区域,也就是黑色 然而,存在黑色部分的像素值不是0的部分 Cv2.InRange(image, new Scalar(0, 0, 0), new Scalar(0, 0, 0), image); Vec3b color = image.Get<Vec3b>(200, 320); Cv2.InRange(图像,新标量(0,0,0),新标量(0,0,0),图像); V

我使用azure kinect通过微软的C#body跟踪示例拍摄了一张深度图像

使用opencv,我试图找到像素值为0的区域,也就是黑色

然而,存在黑色部分的像素值不是0的部分

Cv2.InRange(image, new Scalar(0, 0, 0), new Scalar(0, 0, 0), image);
Vec3b color = image.Get<Vec3b>(200, 320);
Cv2.InRange(图像,新标量(0,0,0),新标量(0,0,0),图像);
Vec3b color=image.Get(200320);
在图像中,用红点标记的区域为白色,但颜色的值为(0,0,0)

怎么了?

我没有使用
OpenCV
C#
实现,但是请确保您没有交换坐标的顺序。也就是说,在
Get
方法的参数中,不要使用
(x,y)
而不是
(y,x)
,反之亦然。这或许可以解释这种明显的不匹配。