Métadonnées de l'image de la caméra

ARCore vous permet d'utiliser ImageMetadata pour accéder aux clés-valeurs de métadonnées résultat de la capture d'image de l'appareil photo. Voici quelques types courants de métadonnées d'image d'appareil photo que vous peuvent être consultées : longueur focale, code temporel des images ou luminosité des informations.

Le module Camera Android peut enregistrer 160 paramètres ou plus concernant l'image pour chaque image capturée, en fonction des capacités de l'appareil. Pour obtenir la liste de tous clés de métadonnées possibles, consultez la section ImageMetadata.

Obtenir la valeur d'une clé de métadonnées individuelle

Utiliser getImageMetadata() pour obtenir une clé-valeur de métadonnées spécifique et intercepter MetadataNotFoundException si elle n'est pas disponible. L'exemple suivant montre comment obtenir Clé-valeur de métadonnées 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()
}