Ноябрь 10, 2016 1:56 дп

Демонстрационный код и новый драйвер Kinect для UWP в общем доступе

Давайте немного освежим память. Помните, как в мае мы обещали, что вскоре начнется интеграция контроллера Kinect для Windows в универсальную платформу Windows (UWP)? Конечно, вы помните. Так вот мы наконец представляем два важных новшества, которые откроют приложениям UWP доступ к возможностям Kinect.

alex-turner

Во-первых, мы пошли навстречу многочисленным просьбам и выложили на GitHub код, который Алекс Тернер (Alex Turner) использовал в видео для Channel 9, — как один из образцов для универсальной платформы Windows.   С помощью образцов кода из репозитория вы сможете использовать API Windows.Media.Capture.Frames для того, чтобы пронумеровать сенсоры Kinect (RGB/IR/depth) и затем использовать MediaFrameReader для потоковой передачи кадров. Кстати, про настройку классов можно почитать в этой статье.

Эти функции были впервые представлены в Windows 10 Anniversary Update, но весь набор API должен быть уже хорошо знаком всем, кто   использует пакет SDK для Kinect уже много лет. Однако новые API созданы для работы не только с датчиком Kinect, но и с любыми другими датчиками, способными на передачу потоков сложных данных, — поэтому вам потребуется подходящий драйвер устройства.

Это плавно подводит нас ко второй новости: теперь вы можете обновлять драйвер Kinect через Центр обновления Windows. Так что если вам не терпится попробовать новые возможности, достаточно перейти в диспетчер устройств и обновить драйвер для датчика Kinect. Новый драйвер не только задействует описанные выше API для универсальной платформы Windows, но и даст возможность использовать цветную камеру Kinect как обычную веб-камеру. Это значит, что приложения, работающие с веб-камерой (например, Skype), теперь могут задействовать датчик Kinect в качестве устройства ввода. Более того, вы можете использовать датчик для работы со службой Windows Hello, которая позволяет вам войти в свою учетную запись без ввода пароля за счет использования технологии распознавания лиц.

picture12-300x102

Еще один образец с GitHub демонстрирует пример удаления фона с кадров RGB-камеры и камеры глубины с помощью специализированных корреляций API, таких как CameraIntrinsics и DepthCorrelatedCoordinateMapper. Они работают за счет пространственной корреляции цветовой камеры и датчика глубины Kinect на основе данных калибровки и глубины для каждого кадра. В этом образце кода показано также, как в UWP-приложениях с помощью новых API можно получать доступ к данным Kinect по отслеживанию движений фигуры через специализированный медиапоток.

Наконец, стоит заметить, что сводное обновление Xbox также поддерживает эти возможности датчика Kinect за счет Windows.Media.Capture.Frames для приложений универсальной платформы Windows. Таким образом, все приложения, которые используют инфракрасные и цветовые RGB-камеры или датчики глубины Kinect, будут выполняться на Xbox без изменения кода. Также с консолей Xbox RGB-камеру Kinect можно будет использовать как обычную веб-камеру для общения в Skype и других подобных программах.

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

Обратите внимание, что по всем техническим вопросам (а также для обсуждения Kinect с другими разработчиками и инженерами Microsoft) мы приглашаем вас обращаться на форум, посвященный пакету разработки Kinect для Windows v2. Вы можете изучить уже созданные темы или задать новый вопрос, нажав кнопку Ask a question (Задать вопрос) на странице форума.