Metadados da imagem da câmera

O ARCore permite usar ArImageMetadata para acessar valores-chave de metadados do resultado da captura de imagem da câmera. Alguns tipos comuns de metadados de imagem de câmera que você pode querer acessar são distância focal, dados de carimbo de data/hora da imagem ou informações de iluminação.

O módulo Camera do Android pode gravar 160 ou mais parâmetros sobre a imagem para cada frame capturado, dependendo dos recursos do dispositivo. Para ver uma lista de todas as chaves de metadados possíveis, consulte a documentação Camera do NDK.

Acessar o valor de uma tag de metadados individual

Use ArImageMetadata_getConstEntry() para receber um valor específico de tag de metadados. O exemplo a seguir mostra como conseguir o valor de metadados 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);

Acessar uma lista de todas as tags de metadados de um determinado frame

Use ArImageMetadata_getAllKeys() para ver uma lista de todas as chaves de metadados capturadas para um determinado frame.

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);