exponenta event banner

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)

Описание

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

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

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

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

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

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

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

frame = step(obj) получает один кадр из объекта VideyDevice System, obj.

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

Свойства

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

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

Укажите устройство получения изображения, которое будет использоваться для получения кадра. Он состоит из имени устройства, адаптера и идентификатора устройства. Устройство по умолчанию - это первое устройство, возвращенное imaqhwinfo.

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

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

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

Обратите внимание, что это отличается от videoinput объект, инструмент получения изображения и блок с видеоустройства, все из которых основаны на 0.

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

Настройка свойств объекта System поддерживает заполнение табуляции для перечисляемых свойств при кодировании в MATLAB. Заполнение вкладки - это простой способ просмотра доступных значений свойств. После ввода имени свойства введите запятую, пробел, затем первую кавычку для значения, затем нажмите клавишу TAB, чтобы увидеть возможные значения.

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

set(obj, 'ReturnedColorSpace')

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

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

Примечание

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

Функции

Эти функции можно использовать с объектом VideyDevice System.

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

frame = step(obj);

получает один кадр из объекта VideyDevice System, obj.

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

releaseОсвободите ресурсы VideyDevice и разрешите изменение значения свойства.

release(obj)

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

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

L = isLocked(obj)

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

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

preview(obj)

создает окно Video Preview, в котором отображаются видеоданные в реальном времени для объекта VideyDevice System, obj. В окне Video Preview отображаются видеоданные со 100% увеличением. Размер изображения для предварительного просмотра определяется значением объекта VideyDevice System ROI собственность. Если не указано, используется разрешение по умолчанию для устройства.

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

closepreview(obj)

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

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

imaqhwinfo(obj)

отображает информацию об объекте VideyDevice System, obj.

Примеры

Создайте объект VideyDevice System, связанный с адаптером Winvideo с идентификатором устройства 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);

Очистите объект VideyDevice System.

clear vidobj;

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

.
Представлен в R2012a