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