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