[ Web Proxy ]
URL:
Viewing: https://developers.google.com/ar/develop/java/camera-metadata [Back]  [Original]

Camera image metadata  |  ARCore  |  Google for Developers Skip to main content
Send feedback

Camera image metadata Stay organized with collections Save and categorize content based on your preferences.

outlined_flag

ARCore lets you use ImageMetadata to access metadata key values from the camera image capture result. Some common types of camera image metadata you might want to access are focal length, image timestamp data, or lighting information.

The Android Camera module can record 160 or more parameters about the image for each frame captured, depending on a device's capabilities. For a list of all possible metadata keys, see ImageMetadata.

Get the value of an individual metadata key

Use getImageMetadata() to get a specific metadata key value, and catch the MetadataNotFoundException if it's not available. The following example shows obtaining the SENSOR_EXPOSURE_TIME metadata key value.

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

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2024-10-31 UTC.

Need to tell us more? [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-10-31 UTC."],[],["ARCore utilizes `ImageMetadata` to access camera image capture metadata, such as focal length, timestamps, and lighting. The Android `Camera` module can record over 160 parameters per frame. To retrieve a specific key value, use `getImageMetadata()`, handling `MetadataNotFoundException`. The example demonstrates fetching the `SENSOR_EXPOSURE_TIME` metadata, using `getLong()` method and handling `NotYetAvailableException` if sensor data is unavailable. Refer to the `ImageMetadata` documentation for the complete list of available keys.\n"]]

Web Proxy Viewer  |  New URL  |  Original Page