Можно использовать эти функции с помощью object™ VideoDevice System.
Функция | Цель |
---|---|
step | Получите одну систему координат от устройства сбора изображений.frame = step(obj); получает одну систему координат от объекта VideoDevice System, Обратите внимание, что при первом вызове шага оно приобретает эксклюзивное использование оборудования и начнет потоковую передачу данных. |
release | Отпустите ресурсы VideoDevice и допустите изменение значения свойства.release(obj) освобождает системные ресурсы (такие как память, указатели на файлы или аппаратные подключения) системного объекта, |
isLocked | Возвращает значение, указывающее, заблокирован ли ресурс VideoDevice. (Использование release чтобы разблокировать.)L = isLocked(obj) возвращает логическое значение, |
preview | Активируйте окно предварительного просмотра изображения.preview(obj) создает окно Video Preview, которое отображает live video данных для Системного объекта VideoDevice, |
closepreview | Закройте окно предварительного просмотра изображения.closepreview(obj) закрывает окно предварительного просмотра для объекта VideoDevice System, |
imaqhwinfo | Возвращает информацию об объекте.imaqhwinfo(obj) отображает информацию об объекте VideoDevice System, |
Базовый рабочий процесс использования объекта VideoDevice System состоит в том, чтобы создать объект, просмотреть изображение, задать любые свойства, получить систему координат и очистить объект, как показано здесь.
Создайте объект VideoDevice System, сопоставленный с адаптером Winvideo с идентификатором устройства 1.
vidobj = imaq.VideoDevice('winvideo', 1);
Установите свойство уровня объекта, такое как ReturnedColorSpace
.
vidobj.ReturnedColorSpace = 'grayscale';
Обратите внимание, что синтаксис настройки свойства уровня объекта <object_name>.<property_name> = <property_value>
, где значение может быть вектором символов или числом.
Установите свойство конкретного устройства, например Brightness
.
vidobj.DeviceProperties.Brightness = 150;
Обратите внимание, что синтаксис настройки свойства конкретного устройства состоит в том, чтобы перечислить имя объекта, DeviceProperties
объект и имя свойства с помощью записи через точку, а затем сделать его равным значению свойства.
Предварительный просмотр изображения.
preview(vidobj)
Получите одну систему координат с помощью step
функция.
frame = step(vidobj);
Отобразите полученную систему координат.
imshow(frame)
Отпустите аппаратный ресурс.
release(vidobj);
Очистить объект VideoDevice System.
clear vidobj;
Вы можете вернуть Kinect® для Windows® данные скелета с использованием объекта VideoDevice System на датчике Глубины Кинекта.
Обычно в Image Acquisition Toolbox™ каждая камера или устройство изображения имеет один идентификатор устройства. Поскольку камера Kinect для Windows имеет два отдельных датчика, датчик цвета и датчик глубины, тулбокс перечисляет два идентификатора устройств. Датчиком цвета Kinect является устройство 1, а датчиком глубины Kinect - устройство 2.
Этот пример использует устройство Kinect V1. Тулбокс также поддерживает V2 Kinect. Для получения информации о свойствах и метаданных устройств Kinect V2 установите пакет поддержки Image Acquisition Toolbox for Kinect For Windows Sensor и смотрите раздел «Получение изображений с V2 Kinect» в документации.
Чтобы создать Системный объект с помощью датчика Цвета:
vidobjcolor = imaq.VideoDevice('kinect', 1);
Чтобы создать Системный объект с помощью датчика Глубины:
vidobjdepth = imaq.VideoDevice('kinect', 2);
Датчик Глубины возвращает метаданные скелета. Чтобы получить доступ к этому, вам нужно добавить второй выходной аргумент для step
функция. Датчик цвета работает так же, как и другие устройства. Поэтому получение системы координат с помощью датчика Kinect Color осуществляется следующим образом:
imageData = step(vidobjcolor);
где imageData
получена ли система координат, если vidobjcolor
является Системным объектом, созданным с помощью Устройства 1, датчика Цвета Кинекта.
Датчик Глубины Кинекта требует второго выходного аргумента, как показано здесь:
[depthData metadata] = step(vidobjdepth);
где depthData
получена ли система координат, если vidobjdepth
является Системным объектом, созданным с помощью Устройства 2, датчика Глубины Кинекта и metadata
- метаданные скелета, возвращенные вместе с системой координат.
Эти поля метаданных связаны с отслеживанием скелетов. Метаданные возвращаются как структура, содержащая следующие параметры:
IsPositionTracked IsSkeletonTracked JointDepthIndices JointImageIndices JointTrackingState JointWorldCoordinates PositionDepthIndices PositionImageIndices PositionWorldCoordinates SegmentationData SkeletonTrackingID
Затем можно просмотреть оба выходов. Чтобы увидеть рамку изображения:
imshow(imageData)
Чтобы увидеть выходные метаданные:
metadata
Примечание
Датчик Kinect for Windows Depth может занять несколько секунд, чтобы начать получение метаданных скелета. В порядок, чтобы увидеть значения в выход метаданных, необходимо неоднократно получить несколько системы координат с помощью функции step. Вы можете сделать это, используя цикл for.
Примечание
По умолчанию системный объект возвращает данные как одинарные значения точности с областью значений от 0,0 до 1,0. Значение представляет фракцию в динамической области значений датчика. Датчик глубины Kinect имеет область значений от 0 до 8192 мм.
Получение изображений и данных скелета с помощью Kinect является примером, который показывает, как получить доступ к метаданным скелета с помощью videoinput
объект (не объект VideoDevice System), и он содержит информацию о свойствах, которые можно задать как на датчиках цвета и глубины, так и описаниях всех полей метаданных. Имена свойства те же, что и для системного объекта, но затем необходимо задать свойства, как показано на шаге 3 вышеприведенного примера (в текущей теме), для использования с объектом VideoDevice System.