0
votes

I'm new to the image processing, and I'm working on a simple project to recognize people by their clothes color. I'm not sure what the best way is to do that. Since I'm using the Kinect (with Kinect-SDK), it is easy to detect people using the depth stream, and by mapping the depth data to the color data, I can get the color pixels of the people. I tried to build a color histogram for each person to recognize the person color. I'm not sure if this right or not! What I'm doing is: 1- Get the depth data from the Kinect device. 2- Ensure if a pixel is a player pixel or not by using the Player Index. 3- Map player pixels to color pixels. 4- Build a color histogram for the player.

I have a problem dealing with step 4. This is how I'm trying to build the histogram (32 bins):

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

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

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

I think I'm doing it in a wrong way. The colors values look very different every time I run the program on the same scene.

Could anyone give me some points? Any help will be appreciated.

1
Is this affected by the amount of ambient light in the room?Ren P

1 Answers

0
votes

Color histogram wont help you. Back in the day when i was doing some face recognition tool, color histogram would give different values for the pictures that look almost alike. So it's not a way to go. Instead of building a color histogram you could see how much for example red color is present on the scene, if someone of your subjects is wearing a red jacket.