Metadata gambar kamera
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
ARCore memungkinkan Anda menggunakan ImageMetadata
untuk mengakses nilai kunci metadata dari
hasil pengambilan gambar kamera Anda. Beberapa jenis {i>metadata <i}
gambar kamera yang umum
mungkin ingin diakses adalah panjang fokus, data stempel waktu gambar, atau pencahayaan
tidak akurat atau tidak sesuai.
Modul Camera
Android dapat merekam 160 atau lebih parameter tentang gambar
untuk setiap {i>frame<i} yang ditangkap, tergantung pada kemampuan perangkat. Untuk mengetahui daftar semua
kunci metadata yang mungkin, lihat ImageMetadata
.
Gunakan getImageMetadata()
untuk mendapatkan nilai kunci metadata tertentu, dan menangkap MetadataNotFoundException
jika tidak tersedia. Contoh berikut menunjukkan cara mendapatkan
Nilai kunci metadata 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()
}
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-26 UTC.
[null,null,["Terakhir diperbarui pada 2025-07-26 UTC."],[[["\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```"]]