Отслеживайте человека по цвету одежды с помощью датчика Kinect
Я новичок в обработке изображений, и я работаю над простым проектом по распознаванию людей по цвету их одежды. Я не уверен, что лучший способ сделать это. Поскольку я использую Kinect (с Kinect-SDK), легко обнаружить людей, использующих поток глубины, и, сопоставив данные глубины с данными цвета, я могу получить цветные пиксели людей. Я пытался построить цветовую гистограмму, чтобы каждый человек мог узнать цвет человека. Я не уверен, правильно это или нет! Что я делаю: 1- Получите данные о глубине от устройства Kinect. 2- Убедитесь, что пиксель является пикселем игрока или нет, используя Индекс игрока. 3- Отображение пикселей игрока на цветные пиксели. 4- Постройте цветную гистограмму для игрока.
У меня проблема с шагом 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]++;
Я думаю, что я делаю это неправильно. Значения цветов выглядят очень разными каждый раз, когда я запускаю программу на одной и той же сцене.
Кто-нибудь может дать мне несколько очков? Любая помощь будет оценена.
1 ответ
Цветная гистограмма вам не поможет. В то время, когда я работал с каким-либо инструментом распознавания лиц, цветовая гистограмма давала бы разные значения для изображений, которые выглядят почти одинаково. Так что это не путь. Вместо построения цветовой гистограммы вы можете увидеть, например, сколько красного цвета присутствует на сцене, если кто-то из ваших подданных носит красный пиджак.