Metadados da imagem da câmera

O ARCore permite usar o ArImageMetadata para acessar os valores de chave de metadados do resultado da captura de imagem da câmera. Algumas metadados de imagem da 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 registrar 160 ou mais parâmetros sobre a imagem para cada frame capturado, dependendo dos recursos do dispositivo. Para acessar uma lista possíveis chaves de metadados, consulte a documentação Camera do NDK.

Encontrar o valor de uma tag de metadados individual

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

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

Use ArImageMetadata_getAllKeys() para receber 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);