Kamerabild-Metadaten

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