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