Определить руку с помощью OpenCV - PullRequest
1 голос
/ 26 октября 2011

Я хочу использовать openCV для определения, когда человек поднимает или опускает руку или обе руки. Я просмотрел учебники, предоставленные python opencv, и ни один из них, похоже, не справился с этой задачей. Перед этими двумя людьми находится камера, которая находится на расстоянии около 50 см от них (так что вы видите их по пояс). Человек может поднимать или опускать каждую руку или обе руки, и я должен определить, когда они это делают (камера установлена ​​на стойках американских горок; это означает, что фон всегда меняется)

Как я могу обнаружить это в кратчайшие сроки? Это не должно быть обнаружение в реальном времени, но это не должно быть больше, чем 0,5 секунды. Все изображение 640х480. Теперь, поскольку стрелки могут появляться только в верхней части изображения, это уменьшит область поиска наполовину => 640x240. Это уменьшило бы проблему поиска определенного объекта (руки) в постоянно меняющемся фоне.

Спасибо, Стефан Ф.

1 Ответ

1 голос
/ 05 марта 2012

Вы можете попробовать самое простое, но очень эффективное и быстрое решение: в верхней половине изображения:

  1. обнаружение острых краев
  2. morphologyEx с соответствующим элементом структурированияможет быть достаточно комбинации эродирования / расширения)
  3. преобразование в BW с использованием адаптивного порога
  4. или результат с маской, представляющей ожидаемую покрытую область.xor в каждой области маски - это индекс, который вы должны использовать.

Это очень быстро, вы можете сделать более одной итерации за 0,5 секунды и использовать среднее значение.Также вы можете обнаружить лица и использовать их для изменения положения вашей маски, но это будет дороже:)

надеюсь, что это поможет

...