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