Следующие разделы описывают, как тулбокс предоставляет информацию о синхронизации приобретения, особенно,
Чтобы видеть пример получения информации о синхронизации, смотрите Определение Длительности Задержки Кадра.
Чтобы определить когда выполняемый триггер, проверяйте информацию, возвращенную триггерным событием в журнале событий объекта. Можно также получить доступ к этой информации в функции обратного вызова, сопоставленной с триггерным событием. Для получения дополнительной информации смотрите Получение сведений о событии.
Как удобство, тулбокс возвращает время первого триггерного выполнения в свойстве InitialTriggerTime
объекта ввода видео. Эта фигура указывает, какой триггер возвращен в этом свойстве, когда несколько триггеров сконфигурированы.
InitialTriggerTime записывает первое триггерное выполнение
Триггерная информация о синхронизации хранится в векторном формате часов MATLAB®. Следующий пример отображает время первого триггера для объекта vid
ввода видео. Пример использует функцию datestr
MATLAB, чтобы преобразовать информацию в форму, которая более удобна для представления.
datestr(vid.InitialTriggerTime) ans = 02-Mar-2007 13:00:24
Тулбокс обеспечивает два способа определить, когда конкретный кадр был получен:
К абсолютному времени приобретения
К прошедшему времени относительно выполнения триггера
Можно использовать функцию getdata
, чтобы получить оба типа синхронизации информации.
Когда вы используете функцию getdata
, можно опционально задать два возвращаемых значения. Одно возвращаемое значение содержит данные изображения; другое возвращаемое значение содержит вектор меток времени, которые измеряются в секундах, времени, когда кадр был получен относительно первого триггера.
[data time] = getdata(vid);
Чтобы видеть пример, смотрите Определение Длительности Задержки Кадра.
Когда вы используете функцию getdata
, можно опционально задать три возвращаемых значения. Первое содержит данные изображения, второе содержит вектор относительных времен приобретения, и третьим является массив структур, где каждая структура содержит метаданные, сопоставленные с конкретным кадром.
[data time meta ] = getdata(vid);
Каждая структура в массиве содержит следующие четыре поля. Поле AbsTime
содержит абсолютное время, кадр был получен. Можно также получить эти метаданные при помощи коллбэков события. Смотрите Получение сведений о событии для получения дополнительной информации.
Структурируйте метаданные
Имя поля | Описание |
---|---|
| Абсолютное время кадр было получено, возвращенное в MATLAB формат
|
| Структурируйте номер относительно того, когда объект был запущен |
| Структурируйте номер относительно триггерного выполнения |
| Триггер событие сопоставлен с. Например, когда объект запускается, связанный триггер 0. На остановку это эквивалентно свойству |
Чтобы проиллюстрировать, этот пример вычисляет длительность задержки, заданной свойством TriggerFrameDelay
.
Создайте объект получения изображений — Этот пример создает объект ввода видео для устройства получения изображений Data Translation® с помощью формата видео по умолчанию. Чтобы запустить этот пример в вашей системе, используйте функцию imaqhwinfo
, чтобы получить конструктора Object для вашего устройства получения изображений и заменить тем синтаксисом следующий код.
vid = videoinput('dt',1);
Сконфигурируйте свойства — В данном примере конфигурируют триггерную задержку кадра, достаточно большую, чтобы произвести значимую длительность.
vid.TriggerFrameDelay = 50
Запустите объект получения изображений — Вызывают функцию start
, чтобы запустить объект получения изображений.
start(vid)
Объект выполняет мгновенный триггер и начинает получать кадры данных. Функция start
возвращает управление в командную строку сразу, но регистрация данных не начинается, пока триггерная задержка кадра не истекает. После журналирования конкретного количества кадров объект прекращает запускаться.
Принесите полученные данные в рабочую область — Вызывают функцию getdata
, чтобы принести кадры в рабочую область. Задайте возвращаемое значение, чтобы принять информацию о синхронизации, возвращенную getdata
.
[data time ] = getdata(vid);
Переменная time
является вектором, который содержит время, каждый кадр регистрировался, измеренный в секундах, относительно выполнения первого триггера. Проверяйте первое значение во временной вектор. Это должно отразить длительность задержки перед запущенной регистрацией данных.
time time = 4.9987 5.1587 5.3188 5.4465 5.6065 5.7665 5.8945 6.0544 6.2143 6.3424
Вымойтесь — Всегда удаляют объекты получения изображений из памяти и переменные, которые ссылаются на них, когда вам больше не нужны они.
delete(vid) clear vid