Бөлісу құралы:


Использование пакета SDK для датчика Kinect для Azure для записи формата файла

Для записи данных датчика используется формат контейнера Matroska (MKV), который позволяет хранить несколько дорожек с применением широкого спектра кодеков. Файл записи содержит дорожки цветов, глубины, IR-изображений и IMU.

Низкоуровневое описание формате контейнера MKV можно найти на веб-сайте Matroska.

Название дорожки Формат кодека
COLOR Зависит от режима (MJPEG, NV12 или YUY2)
DEPTH b16g (16-разрядные оттенки серого, с обратным порядком байтов)
IR b16g (16-разрядные оттенки серого, с обратным порядком байтов)
IMU Настраиваемая структура (см. пример структуры IMU ниже).

Использование сторонних средств

Просматривать и извлекать информацию из файлов записи позволяют такие инструменты, как ffmpeg или команда mkvinfo из инструментария MKVToolNix.

Например, следующая команда извлекает дорожку глубины (DEPTH) в виде последовательности из 16-разрядных изображений PNS в ту же папку:

ffmpeg -i output.mkv -map 0:1 -vsync 0 depth%04d.png

Параметр -map 0:1 извлекает дорожку с индексом 1, которая для большинства записей будет соответствовать глубине. Если запись не содержит дорожки цвета (COLOR), будет использоваться -map 0:0.

Параметр -vsync 0заставляет ffmpeg извлекать кадры "как есть" вместо попыток "подогнать" их под частоту 30 кадров/с, 15 кадров/с или 5 кадров/с.

Пример структуры IMU

Если данные IMU извлекаются из файла без использования API воспроизведения, они будут иметь двоичный формат. Ниже приведена структура данных IMU. Все поля имеют прямой порядок байтов.

Поле Тип
Отметка времени акселерометра (мкс) uint64
Данные акселерометра (x, y, z) float[3]
Отметка времени гироскопа (мкс) uint64
Данные гироскопа (x, y, z) float[3]

Идентификация дорожек

Может потребоваться определить, какая именно дорожка содержит данные цвета, глубины, IR и т. д. Идентификация дорожек необходима при работе со сторонними инструментами для чтения файла Matroska. Номера дорожек зависят от режима камеры и набора включенных дорожек. Для обозначения значения каждой дорожки используются теги.

Каждый тег из списка ниже связывается к конкретным элементом формата Matroska и может использоваться для поиска соответствующей дорожки или вложения.

Для просмотра этих тегов можно использовать такие средства, как ffmpeg и mkvinfo. Полный список тегов приведен на странице Запись и воспроизведение.

Имя тега Целевой объект тега Значение тега
K4A_COLOR_TRACK Дорожка цвета UID дорожки Matroska
K4A_DEPTH_TRACK Дорожка глубины UID дорожки Matroska
K4A_IR_TRACK Дорожка IR UID дорожки Matroska
K4A_IMU_TRACK Дорожка IMU UID дорожки Matroska
K4A_CALIBRATION_FILE Вложенный файл калибровки Имя файла вложения

Следующие шаги

Запись и воспроизведение