В этом примере показано, как найти объекты ввода видео и удалить объекты ввода видео из памяти.
Для поиска объектов ввода видео в памяти используется функция IMAQFIND. IMAQFIND возвращает массив объектов ввода видео.
objects = imaqfind
objects =
[]
% Create video input objects. vidobj1 = videoinput('matrox', 1, 'M_CCIR'); vidobj2 = videoinput('matrox', 1, 'M_PAL_RGB'); vidobj3 = videoinput('matrox', 1, 'M_NTSC_RGB'); % Find all valid objects. objects = imaqfind
Video Input Object Array: Index: Type: Name: 1 videoinput M_CCIR-matrox-1 2 videoinput M_PAL_RGB-matrox-1 3 videoinput M_NTSC_RGB-matrox-1
Чтобы удалить объект ввода видео из памяти, используйте функцию DELETE с объектом.
% Delete the first object in the array.
delete(objects(1))
Найти все остальные допустимые объекты.
objects = imaqfind
Video Input Object Array: Index: Type: Name: 1 videoinput M_PAL_RGB-matrox-1 2 videoinput M_NTSC_RGB-matrox-1
Использование функции DELETE с объектом приведет к удалению объекта из памяти, но не из рабочей области MATLAB ®. Чтобы удалить объект из рабочей области MATLAB, используйте функцию ОЧИСТИТЬ. Для просмотра объектов в рабочей области MATLAB используется функция WHOS .
% Display the current workspace.
whos
Name Size Bytes Class objects 1x2 1200 videoinput object vidobj1 1x1 1060 videoinput object vidobj2 1x1 1060 videoinput object vidobj3 1x1 1060 videoinput object Grand total is 185 elements using 4380 bytes
Поскольку объект был удален, он больше не является допустимым.
vidobj1
Invalid Image Acquisition object. This object is not associated with any hardware and should be removed from your workspace using CLEAR.
Удалите связанную переменную.
clear vidobj1
Отображение текущего рабочего пространства.
whos
Name Size Bytes Class objects 1x2 1200 videoinput object vidobj2 1x1 1060 videoinput object vidobj3 1x1 1060 videoinput object Grand total is 142 elements using 3320 bytes
Чтобы удалить все объекты ввода видео из памяти и восстановить исходное состояние панели инструментов, используйте функцию IMAQRESET.
Примечание.При использовании функции IMAQRESET объекты удаляются только из памяти, а не из рабочей области MATLAB.
imaqreset
Убедитесь, что объекты не остались.
objects = imaqfind
objects =
[]
Переменные, связанные с удаленными объектами, по-прежнему остаются.
whos
Name Size Bytes Class objects 0x0 0 double array vidobj2 1x1 1060 videoinput object vidobj3 1x1 1060 videoinput object Grand total is 86 elements using 2120 bytes
Удалите все остальные переменные, связанные с удаленными объектами.
clear vidobj2 vidobj3