exponenta event banner

предварительный просмотр

Предварительный просмотр видео в реальном времени

Синтаксис

preview(obj)
preview(obj,himage)
himage = preview(...)

Описание

preview(obj) создает окно Video Preview, в котором отображаются видеоданные для объекта ввода видео obj. В окне также отображаются временная метка и разрешение видео каждого кадра, текущая частота кадров и текущее состояние obj. В окне Video Preview отображаются видеоданные со 100% увеличением. Размер изображения для предварительного просмотра определяется значением объекта ввода видео ROIPosition собственность.

Компоненты окна предварительного просмотра видео

Окно Video Preview остается активным до тех пор, пока не будет остановлено использование stoppreview или закрыт с помощью closepreview. При удалении объекта вызовом delete(obj)окно Просмотр видео (Video Preview) прекращает просмотр и закрывается автоматически.

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

himage = preview(...) прибыль himage, дескриптор объекта изображения, содержащего данные предварительного просмотра. Чтобы получить дескриптор окна рисунка, содержащего объект изображения, используйте ancestor функция. Дополнительные сведения об использовании объектов изображения см. в разделе image. Дополнительные сведения о возвращенном объекте изображения см. в разделе Пользовательская функция обновления.

Примечания

Поведение окна Video Preview зависит от текущего состояния объекта ввода видео и конфигурации триггера.

Состояние объекта

Поведение окна предварительного просмотра

Running=off

Отображает изображение, получаемое с устройства, для всех типов триггеров. Изображение обновляется для отражения изменений, внесенных в конфигурации свойств объекта. ( FrameGrabInterval свойство игнорируется до тех пор, пока не произойдет триггер.)

Running=on

Если TriggerType имеет значение immediate или manual, окно «Просмотр видео» продолжает обновлять отображаемое изображение.

Если TriggerType имеет значение hardware, окно «Просмотр видео» останавливает обновление отображаемого изображения до тех пор, пока не произойдет триггер.

Logging=on

Окно предварительного просмотра видео может отбросить некоторые кадры данных, но это не повлияет на кадры, записанные в память или на диск.

Примечание

Окно «Получение изображения» (Image Acquisition) Toolbox™ «Предварительный просмотр» (Preview) и «Предварительный просмотр» (Preview), встроенные в инструмент «Получение изображения» (Image Acquisition Tool), поддерживают отображение до 16-битных данных изображения. Окно предварительного просмотра было разработано для отображения только 8-битных данных, но многие камеры возвращают 10-, 12-, 14- или 16-битные данные. Окно предварительного просмотра поддерживает камеры более высокой битовой глубины. Однако более крупные битовые данные масштабируются до 8-битовых с целью отображения предварительно просматриваемых данных. Чтобы записать данные изображения в окне предварительного просмотра в полной битовой глубине для изображений в градациях серого, установите PreviewFullBitDepth свойство для 'on'.

Пользовательская функция обновления

preview создает определяемые приложением данные для объекта изображения, himage, присваивая ему имя 'UpdatePreviewWindowFcn' и установки его значения в пустой массив ([]). Можно настроить значение 'UpdatePreviewWindowFcn' данных приложения и извлечения его значения с помощью MATLAB ®setappdata и getappdata соответственно.

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

Эту функцию можно использовать для определения пользовательской обработки данных предварительного просмотра изображения. Когда preview вызывает указанный дескриптор функции, передает функции три аргумента:

  • obj - Просматриваемый объект ввода видео

  • event - структура события, содержащая информацию о кадре изображения. Дополнительные сведения см. ниже.

  • himage - дескриптор обновляемого объекта изображения;

Структура события содержит следующие поля:

Область

Описание

Data

Текущий кадр изображения, заданный как матрица H-by-W-by-B, где H и W - высота и ширина изображения, соответственно, как указано в ROIPosition свойство, а B - количество цветовых полос, как указано в NumberOfBands собственность.

Resolution

Вектор символов, указывающий текущую ширину и высоту изображения, как определено ROIPosition собственность.

Status

Вектор символов, описывающий текущее состояние получения объекта ввода видео.

Timestamp

Вектор символов, указывающий метку времени, связанную с текущим кадром изображения.

FrameRate

Вектор символов, указывающий текущую частоту кадров объекта ввода видео в кадрах в секунду.

Примеры

Создайте пользовательский графический интерфейс пользователя.

figure('Name', 'My Custom Preview Window'); 
uicontrol('String', 'Close', 'Callback', 'close(gcf)');  

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

vidRes = obj.VideoResolution; 
nBands = obj.NumberOfBands; 
hImage = image( zeros(vidRes(2), vidRes(1), nBands) ); 
preview(obj, hImage); 

Дополнительные сведения о настраиваемых GUI см. в разделе Предварительный просмотр данных в пользовательских GUI.

Представлен до R2006a