Используя системный объект VideoDevice, чтобы получить системы координат

Можно использовать эти функции с Системой VideoDevice object™.

ФункцияЦель
  
stepПолучите одну систему координат от устройства получения изображений.

frame = step(obj);

получает одну систему координат от Системного объекта VideoDevice, obj.

Обратите внимание на то, что в первый раз, когда вы вызываете шаг, он получает исключительное использование оборудования и начнет передавать данные потоком.

releaseВысвободите средства VideoDevice и позвольте изменения значения свойства.

release(obj)

системные ресурсы релизов (такие как память, дескрипторы файлов или аппаратные связи) Системного объекта, obj, и позволяет всем его свойствам и входным характеристикам быть измененными.

isLockedВозвращает значение, которое указывает, заблокирован ли ресурс VideoDevice. (Используйте release разблокировать.)

L = isLocked(obj)

возвращает логическое значение, L, который указывает, заблокированы ли свойства для Системного объекта, obj. Объект выполняет внутреннюю инициализацию в первый раз step функция выполняется. Эта инициализация блокирует входные спецификации и свойства. Если это происходит, isLocked функция возвращает значение true.

previewАктивируйте живое окно просмотра изображения.

preview(obj)

создает Окно просмотра видео, которое отображает живые видеоданные для Системного объекта VideoDevice, obj. Окно просмотра видео отображает видеоданные при 100%-м увеличении. Размер изображения предварительного просмотра определяется значением Системного объекта VideoDevice ROI свойство. Если не заданный, это использует разрешение по умолчанию в устройстве.

closepreviewЗакройте живое окно просмотра изображения.

closepreview(obj)

закрывает окно предпросмотра в реальном времени для Системного объекта VideoDevice, obj.

imaqhwinfoВозвращает информацию об объекте.

imaqhwinfo(obj)

информация об отображениях о Системном объекте VideoDevice, obj.

Основной рабочий процесс для использования Системного объекта VideoDevice должен создать объект, предварительно просмотреть изображение, установить любые свойства, получить систему координат и очистить объект, как показано здесь.

  1. Создайте Системный объект VideoDevice, сопоставленный с адаптером Winvideo с ID устройства 1.

    vidobj = imaq.VideoDevice('winvideo', 1);
  2. Установите свойство уровня объектов, такое как ReturnedColorSpace.

    vidobj.ReturnedColorSpace = 'grayscale';

    Обратите внимание на то, что синтаксисом для установки свойства уровня объектов является <object_name>.<property_name> = <property_value>, где значение может быть вектором символов или числовым.

  3. Установите специфичное для устройства свойство, такое как Brightness.

    vidobj.DeviceProperties.Brightness = 150;

    Обратите внимание на то, что синтаксис для установки специфичного для устройства свойства должен перечислить имя объекта, DeviceProperties объект и имя свойства с помощью записи через точку, и затем заставляют его равняться значению свойства.

  4. Предварительно просмотрите изображение.

    preview(vidobj)
  5. Получите одну систему координат с помощью step функция.

    frame = step(vidobj);
  6. Отобразите полученную систему координат.

    imshow(frame)
  7. Выпустите аппаратный ресурс.

    release(vidobj);
  8. Очистите Системный объект VideoDevice.

    clear vidobj;

Kinect для Windows Metadata

Можно возвратить Kinect® для скелетных данных Windows® с помощью Системного объекта VideoDevice на датчике Глубины Kinect.

Обычно в Image Acquisition Toolbox™, каждой камере или формирователе изображения имеет один ID устройства. Поскольку Kinect для камеры Windows имеет два отдельных датчика, Цветной датчик и датчик Глубины, тулбокс перечисляет два идентификатора устройства. Датчик Цвета Kinect является устройством 1, и датчик глубины Kinect является устройством 2.

Этот пример использует устройство Kinect V1. Тулбокс также поддерживает Kinect V2. Для получения информации о свойствах и метаданных устройств Kinect V2, установите Пакет Поддержки Image Acquisition Toolbox для Kinect Для Windows Sensor и смотрите раздел “Acquire Images with Kinect V2” в документации.

Создать Системный объект с помощью Цветного датчика:

vidobjcolor = imaq.VideoDevice('kinect', 1);

Создать Системный объект с помощью датчика Глубины:

vidobjdepth = imaq.VideoDevice('kinect', 2);

Датчик Глубины возвращает скелетные метаданные. Чтобы получить доступ к этому, необходимо добавить второй выходной аргумент в пользу step функция. Цветной датчик работает одинаково как другие устройства. Так получение системы координат с помощью датчика Цвета Kinect сделано как показано здесь:

imageData = step(vidobjcolor);

где imageData система координат, полученная если vidobjcolor Системный объект, созданный с Устройством 1, датчик Цвета Kinect.

Датчик Глубины Kinect требует второго выходного аргумента, как показано здесь:

[depthData metadata] = step(vidobjdepth);

где depthData система координат, полученная если vidobjdepth Системный объект, созданный с Устройством 2, датчик Глубины Kinect и metadata скелетные метаданные, возвращенные с системой координат.

Эти поля метаданных связаны с отслеживанием skeletons. Метаданные возвращены как структура, которая содержит эти параметры:

    IsPositionTracked
    IsSkeletonTracked
    JointDepthIndices
    JointImageIndices
    JointTrackingState
    JointWorldCoordinates
    PositionDepthIndices
    PositionImageIndices
    PositionWorldCoordinates
    SegmentationData
    SkeletonTrackingID

Можно затем посмотреть на оба выходных параметров. Видеть фрейм изображения:

imshow(imageData)

Видеть метаданные выход:

metadata

Примечание

Kinect для датчика Windows Depth может занять несколько секунд, чтобы быть готов начать получать скелетные метаданные. Для того, чтобы видеть значения в метаданных выход, необходимо получить несколько систем координат с помощью ступенчатой функции неоднократно. Можно сделать это при помощи цикла for.

Примечание

По умолчанию Системный объект возвращает данные как значения одинарной точности с областью значений 0.0 к 1,0. Значение представляет часть через динамический диапазон датчика. Датчик глубины Kinect имеет область значений от 0 до 8 192 мм.

Получение Изображения и Скелетных Данных Используя Kinect является примером, который показывает, как получить доступ к скелетным метаданным с помощью videoinput объект (не Системный объект VideoDevice), и это содержит информацию о свойствах, которые можно установить и на датчиках Цвета и на Глубины и описаниях всех полей метаданных. Имена свойства и значения эквивалентны, они были бы для Системного объекта, но необходимо будет затем установить свойства как показано на шаге 3 вышеупомянутого примера (в текущей теме) для использования с Системным объектом VideoDevice.