ARCore 允许您使用 ArImageMetadata
访问相机图片拍摄结果中的元数据键值。部分
您可能需要访问的常见相机图像元数据类型包括焦距、
图片时间戳数据或光线信息。
Android Camera
模块可以记录 160 个或更多与图片相关的参数
具体取决于设备的功能。有关
可能的元数据键,请参阅 NDK Camera
文档。
获取单个元数据标记的值
使用ArImageMetadata_getConstEntry()
以获取特定的元数据标记值。以下示例展示了如何获取 ACAMERA_SENSOR_EXPOSURE_TIME
元数据值:
ArSession_update(session, frame); // Obtain the metadata object from the frame. ArImageMetadata* ar_metadata; ArFrame_acquireImageMetadata(session, frame, &ar_metadata); // Get the exposure time metadata (using ACAMERA_SENSOR_EXPOSURE_TIME in this // example). ArImageMetadata_const_entry exposure_entry; ArImageMetadata_getConstEntry(session, ar_metadata, ACAMERA_SENSOR_EXPOSURE_TIME, &exposure_entry);
获取指定帧的所有元数据标记的列表
使用 ArImageMetadata_getAllKeys()
可获取已捕获的所有元数据键的列表
特定帧。
ArSession_update(session, frame); // Obtain the metadata object from the frame. ArImageMetadata* ar_metadata; ArFrame_acquireImageMetadata(session, frame, &ar_metadata); // Obtain the list of all the metadata for a given frame. const uint32_t* all_tags = NULL; int32_t number_of_tags = -1; ArImageMetadata_getAllKeys(session, ar_metadata, &number_of_tags, &all_tags);