我是图像处理的新手,我正在做一个简单的项目,通过衣服的颜色来识别人。我不确定最好的方法是什么。由于我使用的是Kinect (带有Kinect-SDK),所以使用深度流很容易检测到人,并且通过将深度数据映射到颜色数据,我可以获得人的颜色像素。我试着为每个人建立一个颜色直方图来识别这个人的颜色。我不确定这是对还是错!我要做的是: 1-从Kinect设备获取深度数据。2-使用玩家索引确保一个像素是否是玩家像素。3-将播放器像素映射到彩色像素。4-为玩家构建颜色直方图。
我在处理第四步时遇到了问题,这就是我试图构建直方图的方法(32个柱状图):
color = ColorPixelData[colorPixelIndex];
B_Values[color / 8]++;
color = ColorPixelData[colorPixelIndex + 1];
G_Values[color / 8]++;
color = ColorPixelData[colorPixelIndex + 2];
R_Values[color / 8]++;我想我做错了。每次我在同一场景上运行程序时,颜色值看起来都非常不同。
有没有人能给我点意见?任何帮助都将不胜感激。
发布于 2013-12-20 17:46:53
颜色直方图对你没有帮助。早在我做一些人脸识别工具的时候,颜色直方图会给看起来几乎相似的图片不同的值。所以这不是一条可行的道路。例如,如果你的研究对象中有人穿着红色夹克,你可以看到场景中有多少红色,而不是建立一个颜色直方图。
https://stackoverflow.com/questions/18005870
复制相似问题