说明
:转载自 Android Camera,不定期添加自己的学习思考。
Motion Tracking
In Android 9, camera devices can advertise motion tracking capability. Cameras that support this feature do not produce motion tracking data itself, but instead are used by ARCore or an image-stabilization algorithm along with other sensors for scene analysis. To support this feature, devices must support CONTROL_CAPTURE_INTENT_MOTION_TRACKING. If this intent is part of the capture request, the camera must limit the exposure time to a maximum of 20 milliseconds to reduce motion blur.
Examples and source
A reference motion tracking implementation on the HAL side is available as part of the Camera HAL.
Implementation
To enable motion tracking on a camera device, make sure:
The ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MOTION_TRACKING capability is enabled.
The ANDROID_CONTROL_CAPTURE_INTENT_MOTION_TRACKING intent is supported and when included in a capture request limits the camera exposure time to a maximum of 20 milliseconds.
Lens calibration data from the following list is accurately reported in the static information and dynamic metadata fields:
ANDROID_LENS_POSE_ROTATION
ANDROID_LENS_POSE_TRANSLATION
ANDROID_LENS_INTRINSIC_CALIBRATION
ANDROID_LENS_RADIAL_DISTORTION
ANDROID_LENS_POSE_REFERENCE
Validation
Camera devices supporting the motion tracking feature must pass the camera CTS tests.