相机图片元数据
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
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()
}
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-26。
[null,null,["最后更新时间 (UTC):2025-07-26。"],[[["\u003cp\u003eARCore provides access to camera image metadata like focal length, timestamp, and lighting information using \u003ccode\u003eImageMetadata\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eAndroid's \u003ccode\u003eCamera\u003c/code\u003e module can record over 160 image parameters, which can be accessed through the \u003ccode\u003eImageMetadata\u003c/code\u003e class.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can retrieve specific metadata values using \u003ccode\u003egetImageMetadata()\u003c/code\u003e, while handling potential exceptions like \u003ccode\u003eMetadataNotFoundException\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe provided Java and Kotlin code snippets demonstrate how to obtain the \u003ccode\u003eSENSOR_EXPOSURE_TIME\u003c/code\u003e metadata value from a frame.\u003c/p\u003e\n"]]],["ARCore utilizes `ImageMetadata` to access camera image capture metadata, such as focal length, timestamps, and lighting. The Android `Camera` module can record over 160 parameters per frame. To retrieve a specific key value, use `getImageMetadata()`, handling `MetadataNotFoundException`. The example demonstrates fetching the `SENSOR_EXPOSURE_TIME` metadata, using `getLong()` method and handling `NotYetAvailableException` if sensor data is unavailable. Refer to the `ImageMetadata` documentation for the complete list of available keys.\n"],null,["# Camera image metadata\n\nARCore lets you use `ImageMetadata` to access metadata key values from the\ncamera image capture result. Some common types of camera image metadata you\nmight want to access are focal length, image timestamp data, or lighting\ninformation.\n\nThe Android `Camera` module can record 160 or more parameters about the image\nfor each frame captured, depending on a device's capabilities. For a list of all\npossible metadata keys, see [`ImageMetadata`](/ar/reference/java/com/google/ar/core/ImageMetadata).\n\nGet the value of an individual metadata key\n-------------------------------------------\n\nUse [`getImageMetadata()`](/ar/reference/java/com/google/ar/core/Frame#getImageMetadata-)\nto get a specific metadata key value, and catch the [`MetadataNotFoundException`](/ar/reference/java/com/google/ar/core/exceptions/MetadataNotFoundException)\nif it's not available. The following example shows obtaining the\n`SENSOR_EXPOSURE_TIME` metadata key value. \n\n### Java\n\n```java\n// Obtain the SENSOR_EXPOSURE_TIME metadata value from the frame.\nLong getSensorExposureTime(Frame frame) {\n try {\n // Can throw NotYetAvailableException when sensors data is not yet available.\n ImageMetadata metadata = frame.getImageMetadata();\n\n // Get the exposure time metadata. Throws MetadataNotFoundException if it's not available.\n return metadata.getLong(ImageMetadata.SENSOR_EXPOSURE_TIME);\n } catch (MetadataNotFoundException | NotYetAvailableException exception) {\n return null;\n }\n}\n```\n\n### Kotlin\n\n```kotlin\n// Obtain the SENSOR_EXPOSURE_TIME metadata value from the frame.\nfun getSensorExposureTime(frame: Frame): Long? {\n return runCatching {\n // Can throw NotYetAvailableException when sensors data is not yet available.\n val metadata = frame.imageMetadata\n\n // Get the exposure time metadata. Throws MetadataNotFoundException if it's not available.\n return metadata.getLong(ImageMetadata.SENSOR_EXPOSURE_TIME)\n }\n .getOrNull()\n}\n```"]]