титр движения с Kinect v1 в обработке - PullRequest
0 голосов
/ 29 января 2020

Здравствуйте, мне было интересно, может ли кто-нибудь помочь мне с чем-то

Я недавно давал задание от учителей в колледже и. Я надеюсь достичь этого путем захвата движения.

Учитель звукового искусства и киноискусства других лекторов, поэтому я планирую создать программу, которая будет отслеживать движения участника и отображать движение на экране с эфирным набором или случайными цветами.

Я также хотел бы использовать звуковую часть этого проекта посредством движений участника, но либо путем изменения высоты шума при движении, либо путем изменения скорости звука при движении.

Мне удалось получить 360 xbox Kinect 1414, чтобы работать в обработке и что играло с отслеживанием движения, но не могу понять, как прикрепить эллипс к рукам. Я надеюсь, что кто-то может мне помочь, и что это не так уж сложно.

, если вы можете помочь, вот мой адрес электронной почты (alicebmcgettigan@gmail.com) (если это невозможно, я бы понял, поскольку я, как правило, усложняю себе жизнь, ха-ха)

1 Ответ

0 голосов
/ 19 апреля 2020

Вам потребуется библиотека промежуточного программного обеспечения, которая может предоставлять данные отслеживания каркаса из данных глубины.

Одной из опций Windows является библиотека Kinect для Windows, использующая Kinect SDK.

Существует еще одна библиотека под названием SimpleOpenNI, которая работает в нескольких операционных системах. Официальная версия больше не обновляется для Processing 3 (хотя работает с Processing 2.2.1.). К счастью, вы можете найти обновленный ветвь библиотеки SimpleOpenNI на github

Чтобы вручную установить библиотеку:

  1. выберите версию библиотеки для вашей версии Обработка (например, для обработки от 3.5.3 go до SimpleOpenni Processing_3.5.3 ). Это должен быть один из 3.5.3, 3.5.2, 3.4, 3.3.7, 3.3.6 или 2.2.1 (в противном случае вы можете установить одну из этих версий обработки)
  2. Нажмите Клонировать или загрузите> Загрузить ZIP (в правом верхнем углу репо) github repo download zip link screenshot
  3. Распакуйте содержимое и в папке выберите папку SimpleOpenNI, в которой находится папка с именем библиотека : SimpleOpenNI library folder structure in OSX Finder
  4. Переместить эту вложенную папку SimpleOpenNI (содержащую папку библиотеки) в Documents / Processing / library
  5. Перезапустите обработку (если она уже запущена)
  6. Go в Обработка> Примеры> Предоставленные библиотеки> SimpleOpenNI> ​​OpenNI и начните играть с примерами

Другие примечания:

  • Чтобы отслеживать пользователя, начните с Пользователь и Пользователь3d Примеры
  • Уведомление context.getCoM() возвращает центр масс: одна точка в то время как context.getJointPositionSkeleton() может определить положение руки в 3D
  • , вы можете использовать context.convertRealWorldToProjective() до преобразование из трехмерной позиции в проектную 2D-позицию на экране
  • Как только отслеживание скелета привязано к человеку, вы можете получить совместную позицию для каждой руки, но стоит отметить, что есть отдельная функция отслеживания рук: Руки / Руки3d примеры. В зависимости от того, как вы хотите отслеживать участников / что такое среда / какие движения выбрать, какой вариант работает лучше всего
  • Говоря об окружающей среде, о которой мы думаем, Kinect Xbox 360 чувствителен к помехам инфракрасного света (например, яркие лампы накаливания, прямой солнечный свет и т. д. c.): это будет ухудшать качество карты глубины, что, в свою очередь, влияет на отслеживание скелета. Вы хотели бы иметь как можно больше контроля над освещением и иметь идеальные условия освещения.
  • тест! тестовое задание ! тестовое задание ! :) Подумайте о взаимодействии и окружающей среде (вначале полезно сделать наброски на бумаге), для каждого предположения выполните тест basi c, чтобы доказать, работает он или нет. Используйте итерации, чтобы узнать, как изменить среду или взаимодействие, чтобы она работала.
  • Посмотрите пример RecorderPlay : он записывает файл .oni, который содержит как RGB, так и данные глубины. Это очень полезно, потому что оно позволяет вам записывать на месте в местах, где у вас может быть ограниченный доступ по времени, и это сэкономит вам время без необходимости go перемещаться между вашим компьютером и перед кинотеатром. (Как только вы инициализируете SimpleOpenNI путем к файлу .oni (например, context = new SimpleOpenNI(this,recordPath);), вы можете запустить отслеживание скелета и все, используя запись

. Если вы хотите узнать больше о Kinect and Processing, посмотрите Начало работы Дэниела Шиффмана с Kinect и обработкой page

Веселитесь!

...