Metadatos de la imagen de la cámara

ARCore te permite usar ArImageMetadata para acceder a los pares clave-valor de metadatos del resultado de la captura de imagen de la cámara. Algunos Los tipos comunes de metadatos de imágenes de cámara a los que se puede acceder son la distancia focal, datos de marcas de tiempo de imágenes o 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);