कैमरा इमेज मेटाडेटा

ARCore की मदद से, ImageMetadata का इस्तेमाल करके कैमरे की इमेज कैप्चर करने के नतीजे से मेटाडेटा कुंजी वैल्यू ऐक्सेस की जा सकती है. कैमरा इमेज के कुछ सामान्य मेटाडेटा जिसे शायद आप ऐक्सेस करना चाहें, जैसे कि फ़ोकल लंबाई, इमेज का टाइमस्टैंप डेटा या रोशनी की जानकारी.

Android Camera मॉड्यूल, कैप्चर किए गए हर फ़्रेम के लिए, इमेज के बारे में 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()
}