Metadatos de la imagen de la cámara

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