0

我是图像处理的新手,我正在做一个简单的项目,通过衣服颜色来识别人。我不确定最好的方法是什么。由于我使用的是Kinect(带有Kinect-SDK),使用深度流很容易检测到人,通过将深度数据映射到颜色数据,我可以得到人的颜色像素。我试图为每个人建立一个颜色直方图来识别人的颜色。我不确定这是否正确!我正在做的是: 1- 从 Kinect 设备获取深度数据。2- 使用玩家索引确保像素是否为玩家像素。3- 将播放器像素映射到彩色像素。4- 为玩家建立一个颜色直方图。

我在处理第 4 步时遇到问题。这就是我尝试构建直方图的方式(32 个 bin):

color = ColorPixelData[colorPixelIndex];
B_Values[color / 8]++;

color = ColorPixelData[colorPixelIndex + 1];
G_Values[color / 8]++;

color = ColorPixelData[colorPixelIndex + 2];
R_Values[color / 8]++;

我想我做错了。每次我在同一个场景上运行程序时,颜色值看起来都非常不同。

谁能给我一些分数?任何帮助将不胜感激。

4

1 回答 1

0

颜色直方图不会帮助你。早在我做一些人脸识别工具的时候,颜色直方图就会为看起来几乎相似的图片提供不同的值。所以这不是一条路。如果您的对象中的某个人穿着红色夹克,您可以查看场景中存在多少红色,而不是构建颜色直方图。

于 2013-12-20T09:46:53.327 回答