Логгирование данных изображения к диску

Форматы для регистрации данных к диску

В то время как объект ввода видео запускается, можно регистрировать изображения, передававшие к дисковому файлу. Логгирование данных изображения к диску обеспечивает запись ваших данных.

Для лучшей производительности, регистрируя к диску требует MATLAB® VideoWriter объект, который является функцией MATLAB, не функцией Image Acquisition Toolbox™. После того, как вы создаете и конфигурируете VideoWriter возразите, предоставьте его videoinput DiskLogger объекта свойство.

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

  • 'Motion JPEG 2000' — Сжатый файл Motion JPEG 2000.

  • 'Archival' — Файл Motion JPEG 2000 со сжатием без потерь.

  • 'Motion JPEG AVI' — Сжатый файл AVI с помощью кодека Движущегося JPEG.

  • 'Uncompressed AVI' — Несжатый файл AVI с RGB24 видео.

  • 'MPEG-4' — Сжатый файл MPEG-4 с кодированием H.264 (системы с Windows 7 или macOS 10.7 и позже).

  • 'Grayscale AVI' — Несжатый файл AVI с полутоновым видео. Только используемый в монохромных устройствах.

  • 'Indexed AVI' — Несжатый файл AVI с индексируемым видео. Только используемый в монохромных устройствах.

Регистрация данных к диску Используя VideoWriter

Этот пример использует устройство Видения GigE в полутоновом формате (Mono10).

  1. Создайте объект ввода видео, что доступы устройство получения изображений Видения GigE и используют полутоновый формат на уровне 10 бит на пиксель.

    vidobj = videoinput('gige', 1, 'Mono10');
  2. Можно регистрировать полученные данные к памяти к диску или обоим. По умолчанию данные регистрируются к памяти. Чтобы изменить режим логгирования в диск, сконфигурируйте объект ввода видео LoggingMode свойство.

    vidobj.LoggingMode = 'disk'
  3. Создайте объект VideoWriter с набором профиля к Motion JPEG 2000.

    logfile = VideoWriter('logfile.mj2, 'Motion JPEG 2000')
  4. Сконфигурируйте объект ввода видео использовать VideoWriter объект.

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

    start(vidobj)
  6. Ожидайте приобретения, чтобы закончиться.

    wait(vidobj, 5)
  7. При логгировании больших объемов данных к диску запись на диск иногда отстает от приобретения. Чтобы определить, записаны ли все системы координат в диск, можно опционально использовать DiskLoggerFrameCount свойство.

    while (vidobj.FramesAcquired ~= vidobj.DiskLoggerFrameCount) 
        pause(.1)
    end
  8. Можно проверить что FramesAcquired и DiskLoggerFrameCount свойства имеют идентичные значения при помощи этих команд и сравнения выхода.

    vidobj.FramesAcquired
    vidobj.DiskLoggerFrameCount
  9. Когда объект ввода видео больше не будет необходим, удалите его и очистите его от рабочей области.

    delete(vidobj)
    clear vidobj

Инструкции для Использования объекта VideoWriter регистрировать данные изображения

Отметьте следующее при использовании VideoWriter.

  • Вы не должны удалять объект ввода видео, пока логгирование не было завершено, как обозначено DiskLoggerFrameCount свойство, равняющееся FramesAcquired свойство. Выполнение так заставит дисковое логгирование останавливаться безо всех регистрируемых данных.

  • Если ЗАПУСКАЮТСЯ, называется многократно, не предоставляя новый объект VideoWriter, содержимое предыдущего файла будет стерто, когда ЗАПУСТЯТСЯ, называется.

  • Если объект VideoWriter был передан DiskLogger свойство, вы не должны изменять его.