Загрузить образец кода для отслеживания лица камерой R200
Введение
В этом примере кода C#/XAML демонстрируются основы работы с алгоритмом отслеживания лиц в Intel® RealSense™ SDK для Windows* для обнаружения и отслеживания лиц людей в реальном времени с помощью камеры R200. Этот образец кода выполняет следующие действия.
- Отображение цветового потока RGB камеры R200 в элементе управления Image.
- Наложение прямоугольного элемента управления, который отслеживает расположение лица пользователя (в зависимости от того, где находится пользователь в поле зрения камеры).
- Отображение количества лиц, обнаруженных камерой R200.
- Отображение высоты и ширины отслеживаемого лица.
- Отображение двухмерных координат (X и Y) отслеживаемого лица.
- Указание глубины лица, то есть расстояния от камеры R200 до лица.
- Поддержка и отображение отслеживания оповещений, подписка на обработчик событий.
Рисунок 1.Образец кода для отслеживания лиц
Среда разработки программного обеспечения
Этот образец кода был создан в Windows® 10 RTM с помощью Microsoft Visual Studio* Community 2015. Для этого образца был использован шаблон проекта Visual C# — Windows — Classic Desktop.
Версии SDK и DCM, использованные в этом проекте.
- Intel® RealSense™ SDK v6.0.21.6598
- Intel® RealSense™ Depth Camera Manager R200 v2.0.3.39488
Описание оборудования
Для этой работы мы использовали комплект Intel® RealSense™ Developer Kit (R200). Камера была установлена на стандартный штатив с помощью приобретаемого дополнительно магнитного крепления** (рис. 2).
Рисунок 2. Камера, присоединенная к магнитному креплению**
(** Может поставляться не во всех комплектах.)
Для образца кода R200 действуют следующие требования к оборудованию.
- Процессор Intel® Core™ 4-го поколения (или более позднего).
- 150 МБ свободного места на жестком диске.
- ОЗУ 4 ГБ.
- Камера Intel® RealSense™ (R200).
- Доступный порт USB3 для камеры R200 (или выделенное подключение для встроенной камеры).
Важно! Для поддержки потока данных, передаваемого камерой, требуется интерфейс USB3. Этот интерфейс должен быть подключен к выделенному порту USB3 на клиентской системе (без использования разветвителя).
Примечания к сборке
- В этом проекте используется пространство имен System.Drawing.Imaging. Ссылка на него указывается вручную: в новом проекте щелкните правой кнопкой мыши References (Ссылки)в Solution Explorer (обозревателе решений) и выберите Add Reference… (Добавить ссылку…), чтобы открыть окно диспетчера ссылок. Затем выберите Assemblies, Framework (Сборки, платформа)и найдите System.Drawingв списке. Установите флажок и нажмите кнопку ОК.
- В этом проекте используют явно заданный путь к libpxcclr.cs.dll (управляемой DLL-библиотеке): C:\Program Files (x86)\Intel\RSSDK\bin\x64. Не забудьте изменить этот путь, если в вашей системе пакет SDK установлен в другую папку.
- Поскольку проект ссылается на 64-разрядную версию DLL-библиотеки, убедитесь, что параметр «x64» указан в разделе Project → Properties → Platform target (Проект → Свойства → Целевая платформа)
- Проект включает команду события после сборки, чтобы убедиться в копировании неуправляемой DLL-библиотеки (libpxccpp2c.dll) в целевую выходную папку:
if "$(Platform)" == "x86" (copy /y "$(RSSDK_DIR)\bin\win32\libpxccpp2c.dll""$(TargetDir)" ) else ( copy /y "$(RSSDK_DIR)\bin\x64\libpxccpp2c.dll""$(TargetDir)" )
Описание кода
Образец кода имеет следующую структуру.
- Настройте интерфейс Session и SenseManager, а также модуль распознавания лиц.
- Запустите рабочий поток с именем Update, в котором обрабатывается цикл AcquireFrame — ReleaseFrame.
- В цикле AcquireFrame — ReleaseFrameпроисходят следующие действия.
- Получение данных изображения.
- Получение данных модуля распознавания лиц.
- Вызов метода Render для обновления пользовательского интерфейса.
- Высвобождение ресурсов.
- Высвобождение кадра.
- В методе Renderпроисходят следующие действия.
- Вызов метода ConvertBitmap для преобразования каждого растрового кадра в тип BitmapImage, который требуется для отображения каждого кадра в элементе управления WPF Image.
- Обновление пользовательского интерфейса путем делегирования работы диспетчеру, связанному с потоком пользовательского интерфейса.
- Метод ShutDownвызывается при каждом возникновении событий Window_Closingили btnExit_Click. В методе ShutDownпроисходят следующие действия.
- Остановка метода Update.
- Удаление объектов.
Ознакомьтесь
Перейдите по ссылке загрузки, чтобы получить код и поэкспериментировать с этим образцом.
О технологии Intel® RealSense™
Чтобы приступить к работе и узнать больше об Intel RealSense SDK для Windows, перейдите по адресу https://software.intel.com/ru-ru/intel-realsense-sdk.
Об авторе
Брайан Браун — инженер по разработке программных приложений в подразделении Developer Relations корпорации Intel.
Дополнительные сведения об оптимизации компиляторов см. в нашем уведомлении об оптимизации.
Уведомление
При использовании этого модуля перевода будет создан машинный перевод исходного содержимого. Перевод предоставляется для ознакомления, его полнота и точность не гарантируются.