Логгирование данных на диск

В этом примере показано, как сконфигурировать свойства регистрации для логгирования на диске, а затем инициировать сбор для регистрации.

Конфигурирование режима ведения журнала

Данные, полученные с устройства сбора изображений, могут быть записаны в память, на диск или и то, и другое. По умолчанию данные регистрируются в памяти. Чтобы изменить режим регистрации, сконфигурируйте LoggingMode объекта входа видео свойство.

% Access an image acquisition device, using a grayscale video format with
% 10 bits per pixel.
vidobj = videoinput('gige', 1, 'Mono10');

% View the default logging mode.
currentLoggingMode = vidobj.LoggingMode;
currentLoggingMode =

memory

% List all possible logging modes.
set(vidobj, 'LoggingMode')
[ {memory} | disk | disk&memory ]
% Configure the logging mode to disk.
vidobj.LoggingMode = 'disk';

% Verify the configuration.
currentLoggingMode = vidobj.LoggingMode;
currentLoggingMode =

disk

Настройка свойств логгирования на диске

Логгирование на диск требуется MATLAB ® VideoWriter объект. VideoWriter является функцией MATLAB, а не функцией тулбокса. После того, как вы создаете и конфигурируете VideoWriter предоставьте его в видео, вход DiskLogger объекта свойство.

VideoWriter предоставляет несколько различных профилей, которые регистрируют данные в различных форматах. Этот пример использует профиль Motion JPEG 2000, который может регистрировать однополосные (полутоновые) данные, а также многобайтовые данные. Полный список профилей, предоставленных VideoWriter можно найти в документации.

% Create a |VideoWriter| object.
logfile = VideoWriter('logfile.mj2', 'Motion JPEG 2000')
  VideoWriter

  General Properties:
      Filename: 'logfile.mj2'
          Path: 'C:\Temp'
    FileFormat: 'mj2'
      Duration: 0

  Video Properties:
             ColorChannels: 
                    Height: 
                     Width: 
                FrameCount: 0
                 FrameRate: 30
         VideoBitsPerPixel: 
               VideoFormat: 
    VideoCompressionMethod: 'Motion JPEG 2000'
          CompressionRatio: 10
       LosslessCompression: 0
               MJ2BitDepth: 


% Configure the video input object to use the |VideoWriter| object.
vidobj.DiskLogger = logfile;

Инициирование Приобретения

Теперь, когда объект входа видео сконфигурирован для логгирования данных в файле Motion JPEG 2000, инициируйте сбор.

% Start the acquisition.
start(vidobj)

% Wait for the acquisition to finish.
wait(vidobj, 5)

При регистрации больших объемов данных на диск запись на диск иногда отстает от сбора. Чтобы определить, все ли системы координат были записаны на диск, используйте DiskLoggerFrameCount свойство.

while (vidobj.FramesAcquired ~= vidobj.DiskLoggerFrameCount)
    pause(.1)
end

Проверьте, что FramesAcquired свойство и DiskLoggerFrameCount свойство имеет то же значение.

vidobj.FramesAcquired
ans =

    10

vidobj.DiskLoggerFrameCount
ans =

    10

% When the video input object is no longer needed, delete
% it and clear it from the workspace.
delete(vidobj)
clear vidobj