מטא-נתונים של תמונת מצלמה

ב-ARCore אפשר להשתמש ב-ImageMetadata כדי לגשת לערכי מפתח של מטא-נתונים תוצאה של צילום תמונה במצלמה. כמה סוגים נפוצים של מטא-נתונים של תמונת המצלמה אפשרויות גישה הן אורך מוקד, נתוני חותמת זמן של תמונה או תאורה מידע.

במודול Camera של Android אפשר להקליט 160 פרמטרים או יותר לגבי התמונה. לכל פריים שתועד, בהתאם ליכולות המכשיר. לרשימה של כל מפתחות של מטא-נתונים, ראו ImageMetadata.

קבלת הערך של מפתח מטא-נתונים ספציפי

שימוש ב-getImageMetadata() כדי לקבל ערך מפתח ספציפי של מטא-נתונים, ולהבין את MetadataNotFoundException אם הוא לא זמין. הדוגמה הבאה מראה ערך מפתח של מטא-נתונים SENSOR_EXPOSURE_TIME.

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