Métadonnées de l'image de la caméra

ARCore vous permet d'utiliser ArImageMetadata pour accéder aux clés-valeurs des métadonnées à partir du résultat de la capture d'image de l'appareil photo. Vous pouvez accéder à certains types courants de métadonnées d'image d'appareil photo, comme la longueur focale, les données d'horodatage de l'image ou les informations sur l'éclairage.

Le module Camera Android peut enregistrer 160 paramètres ou plus concernant l'image pour chaque image capturée, en fonction des capacités de l'appareil. Pour obtenir la liste de tous clés de métadonnées possibles, consultez la documentation sur les Camera du NDK.

Obtenir la valeur d'une balise de métadonnées individuelle

Utilisez ArImageMetadata_getConstEntry() pour obtenir une valeur de balise de métadonnées spécifique. L'exemple suivant montre comment obtenir la valeur de métadonnées 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);

Obtenir la liste de tous les tags de métadonnées pour un frame donné

Utilisez ArImageMetadata_getAllKeys() pour obtenir la liste de toutes les clés de métadonnées capturées pour une image donnée.

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