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

يتيح لك 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);