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

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

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

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