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