Metadatos de la imagen de la cámara

ARCore te permite usar ImageMetadata para acceder a valores clave de metadatos desde resultado de la captura de imagen de la cámara. Algunos tipos comunes de metadatos de imágenes de cámaras información sobre la longitud focal, datos de marcas de tiempo de imágenes información.

El módulo Camera de Android puede registrar 160 parámetros o más sobre la imagen. para cada fotograma capturado, según las capacidades de un dispositivo. Para ver una lista de todos claves de metadatos posibles, consulta ImageMetadata.

Obtén el valor de una clave de metadatos individual

Usa getImageMetadata(). para obtener un par clave-valor de metadatos específico y detectar el MetadataNotFoundException si no está disponible. En el siguiente ejemplo, se muestra cómo obtener el Valor clave de metadatos 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()
}