Mit ARCore kannst du ArImageMetadata
verwenden
um auf Metadatenschlüsselwerte aus dem Ergebnis der Kamerabildaufnahme zuzugreifen. Einige
Gängige Arten
von Metadaten für Kamerabilder,
auf die Sie zugreifen können,
Bildzeitstempeldaten oder
Beleuchtungsinformationen.
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 finden Sie in der NDK-Dokumentation zu Camera
.
Wert eines einzelnen Metadaten-Tags abrufen
ArImageMetadata_getConstEntry()
verwenden
um einen bestimmten
Metadaten-Tag-Wert zu erhalten. Im folgenden Beispiel wird der Metadatenwert ACAMERA_SENSOR_EXPOSURE_TIME
abgerufen:
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);
Liste aller Metadaten-Tags für einen bestimmten Frame abrufen
Mit ArImageMetadata_getAllKeys()
können Sie eine Liste aller erfassten Metadatenschlüssel abrufen
für einen 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);