Mit ARCore kannst du ImageMetadata
verwenden, um auf Metadaten-Schlüssel/Wert-Paare aus der
Ergebnis der Kameraaufnahme. Einige gängige Arten von Metadaten für Kamerabilder, die Sie
sind Brennweite,
Bildzeitstempeldaten oder Beleuchtungsprinzip
Informationen.
Das Android-Modul Camera
kann 160 oder mehr Parameter zum Bild aufzeichnen
für jeden aufgenommenen Frame, abhängig von den Funktionen des Geräts. Eine Liste aller
mögliche Metadatenschlüssel, siehe ImageMetadata
.
Wert eines einzelnen Metadatenschlüssels abrufen
getImageMetadata()
verwenden
um ein bestimmtes Schlüssel/Wert-Paar für Metadaten abzurufen, und erfassen Sie den MetadataNotFoundException
falls nicht verfügbar. Im folgenden Beispiel sehen Sie,
SENSOR_EXPOSURE_TIME
-Wert des Metadatenschlüssels.
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() }