exponenta event banner

Управление объектами ввода видео

В этом примере показано, как найти объекты ввода видео и удалить объекты ввода видео из памяти.

Поиск объектов ввода видео в памяти

Для поиска объектов ввода видео в памяти используется функция 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