ARCore به شما امکان می دهد از ArImageMetadata
برای دسترسی به مقادیر کلیدی فراداده از نتیجه ثبت تصویر دوربین استفاده کنید. برخی از انواع رایج متادیتای تصویر دوربین که ممکن است بخواهید به آنها دسترسی داشته باشید عبارتند از: فاصله کانونی، داده های مهر زمانی تصویر، یا اطلاعات نور.
ماژول 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);