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