我正在使用 Android Camera2 API。
我可以在手动对焦模式下使用 LENS_FOCUS_DISTANCE 获取焦距值。然而,在 AF 模式下该属性始终为零。有什么方法可以获取AF模式下的焦距吗?
距镜片最前表面的最短距离
成为焦点。
如果镜头是定焦的,则该值为 0。
http://developer.android.com/intl/es/reference/android/hardware/camera2/CameraCharacteristics.html
换句话说,如果你想管理焦点,请记住LENS_INFO_MINIMUM_FOCUS_DISTANCE
为您提供最小焦点,但要获得“最大”焦点,您必须使用LENS_INFO_HYPERFOCAL_DISTANCE
.
float yourMinFocus = mCameraCharacteristics.get(CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE);
float yourMaxFocus = mCameraCharacteristics.get(CameraCharacteristics.LENS_INFO_HYPERFOCAL_DISTANCE);
对于 2021 年,使用 CameraX 时,以下是如何查找相机特征(例如 LENS_INFO_MINIMUM_FOCUS_DISTANCE)的方法:
theCamera = cameraProvider.bindToLifecycle(...
CameraCharacteristics camChars = Camera2CameraInfo
.extractCameraCharacteristics(theCamera.getCameraInfo());
float discoveredMinFocusDistance = camChars
.get(CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE);
Log.i("dev", "min focus is " + discoveredMinFocusDistance);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)