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. Un peu Les types courants de métadonnées d'image de caméra auxquelles vous pouvez accéder sont la focale, les codes temporels ou les informations d'é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

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