بيانات وصفية لصورة الكاميرا

يتيح لك ARCore استخدام ArImageMetadata للوصول إلى القيم الأساسية للبيانات الوصفية من نتيجة التقاط صورة الكاميرا. بعض الإشعارات فإن الأنواع الشائعة من البيانات الوصفية لصور الكاميرا التي قد ترغب في الوصول إليها هي البعد البؤري، بيانات الطابع الزمني للصورة أو معلومات الإضاءة

يمكن لوحدة Android Camera تسجيل 160 معلَمة أو أكثر حول الصورة. لكل إطار تم التقاطه، بناءً على إمكانات الجهاز. للحصول على قائمة بجميع المفاتيح المحتملة للبيانات الوصفية، راجِع مستندات Camera بتنسيق NDK.

الحصول على قيمة علامة بيانات وصفية فردية

استخدام 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);