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() }