Метаданные изображения камеры

ARCore позволяет использовать ArImageMetadata для доступа к значениям ключей метаданных из результата захвата изображения с камеры. Некоторые распространенные типы метаданных изображения камеры, к которым вам может понадобиться доступ, — это фокусное расстояние, данные временной метки изображения или информация об освещении.

Модуль Camera Android может записывать 160 или более параметров изображения для каждого снятого кадра, в зависимости от возможностей устройства. Список всех возможных ключей метаданных см. в документации NDK Camera .

Получить значение отдельного тега метаданных

Используйте ArImageMetadata_getConstEntry() , чтобы получить определенное значение тега метаданных. В следующем примере показано получение значения метаданных ACAMERA_SENSOR_EXPOSURE_TIME :

ArSession_update(session, frame);

// Obtain the metadata object from the frame.
ArImageMetadata* ar_metadata;
ArFrame_acquireImageMetadata(session, frame, &ar_metadata);

// Get the exposure time metadata (using ACAMERA_SENSOR_EXPOSURE_TIME in this
// example).
ArImageMetadata_const_entry exposure_entry;
ArImageMetadata_getConstEntry(session, ar_metadata,
                              ACAMERA_SENSOR_EXPOSURE_TIME, &exposure_entry);

Получить список всех тегов метаданных для данного кадра

Используйте ArImageMetadata_getAllKeys() , чтобы получить список всех ключей метаданных, захваченных для данного кадра.

ArSession_update(session, frame);

// Obtain the metadata object from the frame.
ArImageMetadata* ar_metadata;
ArFrame_acquireImageMetadata(session, frame, &ar_metadata);

// Obtain the list of all the metadata for a given frame.
const uint32_t* all_tags = NULL;
int32_t number_of_tags = -1;

ArImageMetadata_getAllKeys(session, ar_metadata, &number_of_tags, &all_tags);