Иногда, получая данные изображения, можно хотеть удалить некоторые или все системы координат, которые хранятся в памяти. Использование flushdata
можно удалить все системы координат, хранящиеся в памяти, или только те, системы координат связаны с выполнением триггера.
Следующий пример иллюстрирует, как использовать flushdata
чтобы удалить все системы координат в памяти или системах координат на один триггер.
Создайте объект сбора изображений - Этот пример создает объект входа видео для Windows® устройство для сбора изображений. Чтобы запустить этот пример в своей системе, используйте imaqhwinfo
функция, чтобы получить конструктор объектов для устройства сбора изображений и заменить этот синтаксис следующим кодом.
vid = videoinput('winvideo',1);
Сконфигурируйте свойства - Для этого примера сконфигурируйте получение пяти систем координат на триггер и, чтобы показать эффект flushdata
, сконфигурируйте несколько триггеров с помощью TriggerRepeat
свойство.
vid.FramesPerTrigger = 5 vid.TriggerRepeat = 2;
Запустите объект сбора изображений - Вызовите start
функция для запуска объекта сбора изображений.
start(vid)
Объект выполняет немедленный триггер, получает пять систем координат данных и повторяет этот триггер еще два раза. После логгирования указанного количества систем координат объект перестает выполняться.
Чтобы проверить, что объект получил данные, просмотрите значение FramesAvailable
свойство. Это свойство сообщает, сколько систем координат в данный момент хранятся в буфере памяти.
vid.FramesAvailable ans = 15
Удалите данные изображений триггера - Вызовите flushdata
функция, задающая режим 'triggers'
. Это удаляет системы координат, сопоставленные с самым старым триггером.
flushdata(vid,'triggers');
Следующий рисунок показывает системы координат, полученные до и после вызова flushdata
. Обратите внимание, как flushdata
удаляет системы координат, сопоставленные с самым старым триггером.
Чтобы убедиться, что объект удалил системы координат, просмотрите значение FramesAvailable
свойство.
vid.FramesAvailable ans = 10
Очистить весь буфер памяти - Вызов flushdata
без указания режима удаляет все системы координат, хранящиеся в памяти.
flushdata(vid);
Чтобы убедиться, что объект удалил системы координат, просмотрите значение FramesAvailable
свойство.
vid.FramesAvailable ans = 0
Очистка - Всегда удаляйте объекты сбора изображений из памяти, и переменные, которые ссылаются на них, когда они вам больше не нужны.
delete(vid) clear vid