exponenta event banner

Запись данных на диск

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

Настройка режима ведения журнала

Данные, полученные от устройства получения изображения, могут быть записаны в память, на диск или и то, и другое. По умолчанию данные регистрируются в памяти. Чтобы изменить режим ведения журнала, настройте объект ввода видео 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