如何在Matlab中对Kinect深度图像进行缩放以应用LBP?

4
我有一个由Kinect抓取的CurtinFaces数据集。 我想在深度图像上应用LBP和3DLBP(与此论文相同)。 LBP和3DLBP适用于8位深度图像(请参见论文中的图2),但Kinect深度图像存储为双精度格式(16位)。这里是我的深度+ RGB图像。 我已将深度值缩放在500..1500之间,以获得8位深度图像。 这是用于缩放的代码:
load('01.mat');
I = reshape(d(:,3),[480 640]);
a = 500; b = 1500; %determined by histogram
I(I > b) = NaN;
I(I < a) = NaN;
I = im2uint8(mat2gray(I));
I = imcomplement(I);

这是我的结果:

这是我的结果:enter image description here

我已经对所有深度图像进行了缩放,然后在它们上面应用了LBP。人脸分类的结果异常(35%)!因此,我想知道如何将Kinect深度图像缩放为8位,以便适用于LBP?

提前感谢。

1个回答

0
你的问题在于线性缩放。你所做的只是直方图均衡化。我建议你推导出深度图像的累积密度函数,并在保留增长曲线的同时压缩它,然后执行直方图匹配。这样应该可以给你一个真实的映射。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接