Введение
В версии Intel® RealSense™ SDK R5 (v7) наконец-то появилась долгожданная поддержка разработки приложений для универсальной платформы Windows (UWP), и эта статья поможет приступить к работе. Краткий обзор интерфейсов и методов UWP был представлен в документации к выпуску R4, а в выпуске R5 появились программные компоненты, документация и образцы кода, необходимые для разработки приложений UWP, использующих камеру Intel® RealSense™ SR300.
Как указано в статье Новые возможности выпуска Intel® RealSense™ SDK R5 (v7), камеру SR300 можно заказать начиная с I квартала 2016 года. Кроме того, эта камера будет встраиваться в некоторые устройства с процессорами Intel в 2016 году. Поскольку камера SR300 пока недоступна для конечных пользователей, эта статья посвящена главным образом тем вещам, с которыми следует ознакомиться перед началом работы с новым выпуском и с этой камерой.
Что потребуется для начала работы
- Ноутбук или ПК с операционной системой Microsoft Windows 10
- Microsoft Visual Studio* 2015 и Microsoft Windows 10 Developer Tools
- Камера Intel RealSense SR300 (заказы на эти камеры принимаются с I квартала 2016 г.)
- Intel RealSense SDK R5 (v7)
- SR300 DCM 3.0 Gold (можно получить только через Центр обновления Windows)
Область и ограничения SDK
- SDK поддерживает разработку приложений UWP для Windows 10 с помощью C# и XAML.
- Для приложений UWP в SDK поддерживается только передача необработанного цветного изображения и карты глубины, а также алгоритм отслеживания Blob. Прочие алгоритмы, касающиеся UWP, пока находятся на этапе разработки.
- Приложения UWP должны статически включать файлы среды выполнения SDK, чтобы версия SDK была зафиксирована во время разработки.
- Интерфейс Session не раскрывается явно в UWP C#.
- Система координат камеры в приложениях UWP слегка отличается, дополнительные сведения см. в руководстве по SDK.
- Невозможно изменить систему координат в приложении UWP.
- Для сопоставления координат между потоками цветного изображения и глубины в приложениях UWP используйте интерфейс Windows.Devices.Perception.PerceptionDepthCorrelatedCoordinateMapper.
- В руководстве по SDK отметка (UWP)означает интерфейсы и методы, относящиеся к UWP. Отметка (+UWP)указывает, что данный интерфейс UWP входит в состав функции вместе с интерфейсами других языков.
Примеры классических приложений для Windows
После установки DCM и SDK перезагрузите компьютер, затем убедитесь в правильной работе камеры, запустив один из примеров в Intel RealSense SDK Sample Browser.
Нажмите в Windows 10 кнопку «Пуск» в левом нижнем углу экрана.
Выберите Все приложенияи найдите папку Intel RealSense SDK (рис. 1).
Рисунок 1. Меню «Пуск» в Windows
Найдите и запустите Intel RealSense SDK Sample Browser. В верхней части окна SDK Sample Browser (рис. 2) находится вкладка SR300 Samples, содержащая все примеры классических приложений для Windows (т. е. приложений, работающих в классическом режиме Windows, а не в виде приложений UWP). Ознакомьтесь с этими приложениями для изучения всех возможностей камеры SR300.
Рисунок 2. SDK Sample Browser
Компоненты UWP
Программные компоненты UWP в составе Intel RealSense SDK находятся в папке C:\Program Files (x86)\Intel\RSSDK\UWP. (Примечание. Это путь установки по умолчанию. В вашем случае путь может различаться в зависимости от того, в какую папку был установлен пакет SDK.) Компоненты находятся в следующих вложенных папках внутри папки \UWP:
- \ExtensionSDKs — DLL-библиотеки, на которые ссылаются приложения UWP.
- \Samples — образцы кода DF_BlobViewer_UWP_CS и DF_StreamViewer_UWP_CS.
Создание проекта UWP с нуля
Если вы впервые занимаетесь разработкой приложений UWP, то сначала следует освоить основы создания проектов UWP с нуля. Информативный учебный проект Hello, world! на C#/XAML доступен на этом веб-сайте Microsoft.
Этот учебный проект поможет узнать, как создать простое приложение, предназначенное для UWP и Windows 10. После выполнения учебного проекта Hello, world! и запуска нового приложения UWP оно будет выглядеть примерно так, как показано на рис. 3.
Рисунок 3. Приложение UWP Hello, world!
При запуске в режиме отладки вы увидите небольшой черный счетчик кадров в левом верхнем углу приложения. Если нужно убрать этот счетчик с экрана, найдите следующий код в файле App.xaml.cs:
#if DEBUG
if (System.Diagnostics.Debugger.IsAttached)
{
this.DebugSettings.EnableFrameRateCounter = true;
}
#endif
Можно либо задать для этого свойства значение false:
this.DebugSettings.EnableFrameRateCounter = false;
Либо просто закомментировать эту строку кода:
// this.DebugSettings.EnableFrameRateCounter = true;
Настройка среды разработки для камеры Intel®RealSense™
Чтобы приложение могло использовать камеру Intel RealSense, выполните следующие действия:
- Установите флажок Веб-камерав разделе «Возможности» в окне «Манифест приложения».
- Добавьте ссылки на библиотеки Intel RealSense SDK.
В обозревателе решений дважды щелкните Package.appxmanifest, затем перейдите на вкладку Возможности.
Найдите и установите флажок Веб-камера, как показано на рис. 4.
Рисунок 4. Package.appxmanifest
Теперь нужно добавить ссылки на библиотеки Intel RealSense SDK.
- Intel.RealSense — эта библиотека содержит основную реализацию экземпляров в SDK, в том числе для управления алгоритмами и для поточной передачи данных с камер.
- Intel.RealSense.Blob — эта библиотека содержит реализацию модуля отслеживания Blob в SDK.
Щелкните правой кнопкой мыши Ссылкив обозревателе решений и выберите Добавить ссылку, чтобы открыть диспетчер ссылок.
Нажмите кнопку Обзори перейдите в папку, содержащую файлы Intel.RealSense.winmdи Intel.RealSense.Blob.winmd. (Эти файлы метаданных находятся в папке C:\Program Files (x86)\Intel\RSSDK\UWP\ExtensionSDKs\.)
Нажмите кнопку Добавить. Эти библиотеки появятся в разделе «Ссылки» в обозревателе решений.
Изучение примеров UWP
Чтобы лучше ознакомиться с интеграцией возможностей Intel RealSense SDK в приложения, откройте и соберите два примера проектов, входящие в комплект SDK.
- DF_BlobViewer_UWP_CS
- DF_StreamViewer_UWP_CS
Примечание. Эти примеры недоступны в приложении SDK Sample Browser, описанном выше. Они находятся в папке C:\Program Files (x86)\Intel\RSSDK\UWP\Samples, их следует скопировать в любую доступную для записи папку, чтобы скомпилировать в Visual Studio 2015.
Заключение
В этой статье приводится краткая сводка по разработке приложений UWP с помощью Intel RealSense SDK. Следите за новостями по мере выпуска камеры SR300.
Об авторе
Брайан Браун — инженер по разработке программных приложений в подразделении Developer Relations корпорации Intel.