如何在 camera2 api, android 中设置无限远焦点?
How to set infinity focus in camera2 api, android?
我想在使用外置鱼眼镜头时将我的自定义相机焦距设置为无限远,这是我目前所做的:
builder.set(CaptureRequest.CONTROL_AF_MODE, CaptureRequest.CONTROL_AF_MODE_OFF);
builder.set(CaptureRequest.LENS_FOCUS_DISTANCE, 0.0f);
但是结果太模糊了。
我正在使用三星 S6 和 Nexus 5。
外接镜头广角170度
有人可以帮忙吗?
如果您只是谈论使用 built-in 相机的镜头来实现鱼眼,那么您应该使用的最低值是:
float minFocalDist = cameraCharacteristics.get(CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE);
如果您使用的是外置镜头,那么我认为正确的方法实际上是在相机上使用自动对焦,因为那应该对焦到鱼眼镜头的焦距...我认为。所以外部镜头负责鱼眼,内部镜头负责自动对焦。但是,如果这不起作用,那么当您将焦距设置为超焦距时,看看会得到什么。该距离可能不是最佳距离,但在大多数情况下应该有效...
float hyperFocalDist = cameraCharacteristics.get(CameraCharacteristics.LENS_INFO_HYPERFOCAL_DISTANCE);
任何在这里谷歌搜索的人,都可以得到
AndroidCameraX,相机特性如CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE。
对于 2021 年,语法类似于...
那么,您已经完成了获取相机的过程...
theCamera = cameraProvider.bindToLifecycle((LifecycleOwner)this,
yourCameraSelector, yourImageAnalysis, yourPreview);
现在的代码是:
CameraCharacteristics camChars = Camera2CameraInfo
.extractCameraCharacteristics(theCamera.getCameraInfo());
float discoveredMinFocusDistance = camChars
.get(CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE);
我想在使用外置鱼眼镜头时将我的自定义相机焦距设置为无限远,这是我目前所做的:
builder.set(CaptureRequest.CONTROL_AF_MODE, CaptureRequest.CONTROL_AF_MODE_OFF);
builder.set(CaptureRequest.LENS_FOCUS_DISTANCE, 0.0f);
但是结果太模糊了。
我正在使用三星 S6 和 Nexus 5。 外接镜头广角170度
有人可以帮忙吗?
如果您只是谈论使用 built-in 相机的镜头来实现鱼眼,那么您应该使用的最低值是:
float minFocalDist = cameraCharacteristics.get(CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE);
如果您使用的是外置镜头,那么我认为正确的方法实际上是在相机上使用自动对焦,因为那应该对焦到鱼眼镜头的焦距...我认为。所以外部镜头负责鱼眼,内部镜头负责自动对焦。但是,如果这不起作用,那么当您将焦距设置为超焦距时,看看会得到什么。该距离可能不是最佳距离,但在大多数情况下应该有效...
float hyperFocalDist = cameraCharacteristics.get(CameraCharacteristics.LENS_INFO_HYPERFOCAL_DISTANCE);
任何在这里谷歌搜索的人,都可以得到 AndroidCameraX,相机特性如CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE。
对于 2021 年,语法类似于...
那么,您已经完成了获取相机的过程...
theCamera = cameraProvider.bindToLifecycle((LifecycleOwner)this,
yourCameraSelector, yourImageAnalysis, yourPreview);
现在的代码是:
CameraCharacteristics camChars = Camera2CameraInfo
.extractCameraCharacteristics(theCamera.getCameraInfo());
float discoveredMinFocusDistance = camChars
.get(CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE);