Иногда при получении данных изображения может потребоваться удалить некоторые или все кадры, хранящиеся в памяти. Использование 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