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