ARCore te permite usar ArImageMetadata
para acceder a los valores de clave de metadatos del resultado de la captura de imágenes de la cámara. Algunos tipos comunes de metadatos de imágenes de cámaras a los que podrías querer acceder son la distancia focal, los datos de la marca de tiempo de la imagen o la información de iluminación.
El módulo Camera
de Android puede registrar 160 parámetros o más sobre la imagen.
para cada fotograma capturado, según las capacidades de un dispositivo. Para ver una lista de todos
claves de metadatos posibles, consulta la documentación de Camera
del NDK.
Obtén el valor de una etiqueta de metadatos individual
Usa ArImageMetadata_getConstEntry()
.
para obtener un valor específico de la etiqueta de metadatos. En el siguiente ejemplo, se muestra cómo obtener el valor de metadatos 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);
Obtener una lista de todas las etiquetas de metadatos de un marco determinado
Usa ArImageMetadata_getAllKeys()
para obtener una lista de todas las claves de metadatos que se capturaron
para un fotograma determinado.
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);