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);