imaq. VideoDevice

Получите один кадр за один раз от видеоустройства

Синтаксис

obj = imaq.VideoDevice
obj = imaq.VideoDevice(adaptorname)
obj = imaq.VideoDevice(adaptorname, deviceid)
obj = imaq.VideoDevice(adaptorname, deviceid, format)
obj = imaq.VideoDevice(adaptorname, deviceid, format, P1, V1, ...)
frame = step(obj)
[frame metadata] = step(obj)

Описание

Системный объект VideoDevice позволяет получение изображений одно кадра и генерацию кода от MATLAB®. Вы используете функцию imaq.VideoDevice, чтобы создать Системный объект. Это поддерживает те же адаптеры и оборудование что поддержка объектов videoinput; однако, это имеет различные функции и свойства, сопоставленные с ним. Например, Системный объект использует функцию step, чтобы получить один кадры.

obj = imaq.VideoDevice создает Системный объект VideoDevice, obj, который получает изображения от заданного устройства получения изображений. Когда вы не задаете параметров, по умолчанию, это выбирает первое доступное устройство для первого адаптера, возвращенного imaqhwinfo.

obj = imaq.VideoDevice(adaptorname) создает Системный объект VideoDevice, obj, с помощью первого устройства заданного adaptorname. adaptorname является вектором символов, который указывает, что имя адаптера раньше связывалось с устройством. Используйте функцию imaqhwinfo, чтобы определить адаптеры, доступные в вашей системе.

obj = imaq.VideoDevice(adaptorname, deviceid) создает Системный объект VideoDevice, obj, с форматом по умолчанию для заданного adaptorname и deviceid. deviceid является значением числового скаляра, которое идентифицирует конкретное устройство, доступное через заданный adaptorname. Используйте синтаксис imaqhwinfo(adaptorname), чтобы определить устройства доступные и соответствующие значения для deviceid.

obj = imaq.VideoDevice(adaptorname, deviceid, format) создает Системный объект VideoDevice, obj, где format является вектором символов, который задает конкретный формат видео, поддержанный устройством или файлом конфигурации устройства (также известный как файл камеры).

obj = imaq.VideoDevice(adaptorname, deviceid, format, P1, V1, ...) Создает Системный объект VideoDevice, obj, с заданными значениями свойств. Если недопустимое имя свойства или значение свойства заданы, объект не создается.

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

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

[frame metadata] = step(obj) получает один фрейм изображения от Системного объекта VideoDevice, obj, плюс метаданные от Kinect® для датчика Windows® Depth. Можно возвратить Kinect для скелетных данных о Windows с помощью Системного объекта VideoDevice на датчике Глубины Kinect. Для получения информации о том, как сделать это, смотрите Kinect для Windows Metadata.

Свойства

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

СвойствоОписание
DeviceУстройство, от которого можно получить изображения.

Задайте устройство получения изображений, чтобы использовать, чтобы получить кадр. Это состоит из имени устройства, адаптера и ID устройства. Устройство по умолчанию является первым устройством, возвращенным imaqhwinfo.

VideoFormatФормат видео, который будет использоваться устройством получения изображений.

Задайте формат видео, чтобы использовать при получении кадра. Значение по умолчанию VideoFormat является форматом по умолчанию, возвращенным imaqhwinfo для выбранного устройства. Чтобы задать Формат видео с помощью файла устройств, установите свойство VideoFormat на 'From device file', Эта опция существует, только если устройство поддерживает файлы конфигурации устройства.

DeviceFileИмя файла, задающего формат видео. Это свойство только видимо, когда VideoFormat установлен в 'From device file'.
DevicePropertiesОбъект, содержащий свойства, характерные для устройства получения изображений.
ROIВидимая область для приобретения. Это установлено в значение ROI по умолчанию для заданного устройства, которое является максимальным разрешением, возможным для заданного формата. Можно изменить значение, чтобы изменить размер полученного изображения. Формат на основе 1, то есть, он задан в пикселях в векторе элемента 1 на 4 [x y width height].

Обратите внимание на то, что это отличается от объекта videoinput, Image Acquisition Tool и блока From Video Device, все из которых на основе 0.

HardwareTriggeringПоверните оборудование, инициировавшее вкл\выкл. Установите это свойство на 'on' позволять аппаратному инициированию получить изображения. Свойство видимо только, когда устройство поддерживает аппаратное инициирование.
TriggerConfigurationЗадает триггерный источник и триггерное условие перед приобретением. Условие инициирования нужно соблюдать через триггерный источник, прежде чем кадр будет получен. Это свойство видимо только, когда HardwareTriggering установлен в 'on'.
ReturnedColorSpaceЗадайте цветовое пространство возвращенного изображения. Значение по умолчанию свойства зависит от устройства и выбранного формата видео. Возможными значениями является {rgb |grayscale|YCbCr}, когда значение по умолчанию возвратилось, цветовым пространством для устройства не является grayscale. Возможными значениями является {rgb |grayscale|YCbCr|bayer}, когда значение по умолчанию возвратилось, цветовым пространством для устройства является grayscale
BayerSensorAlignmentВектор символов, указывающий 2x2 выравнивание датчика. Задает шаблоны Байера, возвращенные оборудованием. Задайте выравнивание датчика для Байера demosaicing. Значением по умолчанию этого свойства является 'grbg'. Возможными значениями является {grbg |gbrg|rggb|bggr}. Видимый, только если ReturnedColorSpace установлен в 'bayer'.
ReturnedDataTypeВозвращенный тип данных полученного кадра. ReturnedDataType по умолчанию является single.
ReadAllFramesЗадайте, считать ли один фрейм изображения или все доступные кадры. Установите на 'on', чтобы получить все доступные фреймы изображения. Когда установлено в значение по умолчанию 'off', системный объект берет снимок состояния одного кадра, который является эквивалентом функции getsnapshot в тулбоксе. Когда опция идет, все доступные фреймы изображения получены, который является эквивалентом функции getdata в тулбоксе.

Установка свойств для Системного объекта поддерживает заполнение клавишей Tab для перечислимых свойств при кодировании в MATLAB. Используя заполнение клавишей Tab простой способ видеть доступные значения свойств. После того, как вы введете имя свойства, введите запятую, затем пробел, затем первая метка кавычки значения, затем поразите вкладку, чтобы видеть возможные значения.

Можно также использовать функцию set с именем объекта и именем свойства, чтобы получить список доступных значений для того свойства. Например:

set(obj, 'ReturnedColorSpace')

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

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

Примечание

Чтобы получить список опций, можно использовать на функции, нажать клавишу Tab после ввода функции на командной строке MATLAB. Список расширяется, и можно прокрутить, чтобы выбрать свойство или значение. Для получения информации об использовании этой функции завершения вкладки "Дополнительно" смотрите Используя Заполнение клавишей Tab для Функций.

Функции

Можно использовать эти функции с Системным объектом VideoDevice.

ФункцияЦель
  
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%-м увеличении. Размер изображения предварительного просмотра определяется значением свойства ROI Системного объекта VideoDevice. Если не заданный, это использует разрешение по умолчанию для устройства.

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

closepreview(obj)

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

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

imaqhwinfo(obj)

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

Примеры

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

vidobj = imaq.VideoDevice('winvideo', 1);

Установите свойство уровня объектов, такое как ReturnedColorSpace. Синтаксис для свойства уровня объектов использует имя объекта, имя свойства и значение свойства.

vidobj.ReturnedColorSpace = 'grayscale';

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

vidobj.DeviceProperties.Brightness = 150;

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

preview(vidobj)

Получите один кадр.

frame = step(vidobj);

Отобразите полученный кадр.

imshow(frame)

Выпустите аппаратный ресурс.

release(vidobj);

Очистите Системный объект VideoDevice.

clear vidobj;

Расширенные возможности

Представленный в R2012a