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