Использование пакета 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 | Вложенный файл калибровки | Имя файла вложения |