Metadati immagine fotocamera

ARCore consente di utilizzare ArImageMetadata per accedere alle coppie chiave-valore dei metadati dal risultato dell'acquisizione dell'immagine della fotocamera. Alcune i tipi più comuni di metadati delle immagini delle videocamere a cui potresti voler accedere sono la lunghezza focale, dati timestamp dell'immagine o informazioni sull'illuminazione.

Il modulo Camera per Android può registrare almeno 160 parametri relativi all'immagine per ogni fotogramma acquisito, in base alle funzionalità del dispositivo. Per un elenco di tutte possibili chiavi di metadati, consulta la documentazione di Camera NDK.

Recuperare il valore di un singolo tag di metadati

Utilizza ArImageMetadata_getConstEntry() per ottenere un valore specifico per il tag di metadati. Nell'esempio seguente viene illustrato come ottenere il valore dei metadati 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);

Ottenere un elenco di tutti i tag di metadati per un determinato frame

Utilizza ArImageMetadata_getAllKeys() per visualizzare un elenco di tutte le chiavi dei metadati acquisite per un determinato frame.

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