ARCore ti consente di utilizzare ImageMetadata
per accedere alle coppie chiave-valore dei metadati dal
risultato dell'acquisizione di immagini con la fotocamera. Alcuni tipi comuni di metadati delle immagini delle videocamere
che potresti voler accedere sono: lunghezza focale, dati timestamp dell'immagine o illuminazione
informazioni.
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 ImageMetadata
.
Visualizzare il valore di una singola chiave di metadati
Utilizza getImageMetadata()
per ottenere una coppia chiave-valore specifica dei metadati e rilevare il MetadataNotFoundException
se non sono disponibili. L'esempio seguente mostra come ottenere il
Valore chiave dei metadati SENSOR_EXPOSURE_TIME
.
Java
// Obtain the SENSOR_EXPOSURE_TIME metadata value from the frame. Long getSensorExposureTime(Frame frame) { try { // Can throw NotYetAvailableException when sensors data is not yet available. ImageMetadata metadata = frame.getImageMetadata(); // Get the exposure time metadata. Throws MetadataNotFoundException if it's not available. return metadata.getLong(ImageMetadata.SENSOR_EXPOSURE_TIME); } catch (MetadataNotFoundException | NotYetAvailableException exception) { return null; } }
Kotlin
// Obtain the SENSOR_EXPOSURE_TIME metadata value from the frame. fun getSensorExposureTime(frame: Frame): Long? { return runCatching { // Can throw NotYetAvailableException when sensors data is not yet available. val metadata = frame.imageMetadata // Get the exposure time metadata. Throws MetadataNotFoundException if it's not available. return metadata.getLong(ImageMetadata.SENSOR_EXPOSURE_TIME) } .getOrNull() }