В этом примере показано, как найти объекты ввода видео и удалить объекты ввода видео из памяти.
Чтобы найти объекты ввода видео в памяти, используйте функцию 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 используют Функцию clear. Чтобы видеть, какие объекты находятся в рабочем пространстве MATLAB, используйте, КТО функция.
% 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