当我使用外置鱼眼镜头时,我想将我的自定义相机焦距设置为无穷远,这是我到目前为止所做的:
builder.set(CaptureRequest.CONTROL_AF_MODE, CaptureRequest.CONTROL_AF_MODE_OFF);
builder.set(CaptureRequest.LENS_FOCUS_DISTANCE, 0.0f);但结果却是如此模糊。
我用的是三星S6和Nexus5,外置镜头的广角是170度。
有人能帮上忙吗?
发布于 2017-02-07 15:48:15
如果你只是在谈论使用内置相机的镜头来实现鱼眼,那么你应该使用的最低值是:
float minFocalDist = cameraCharacteristics.get(CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE);如果你使用外置镜头,那么我认为正确的方法实际上是在相机上使用自动对焦,因为这应该对焦到鱼眼镜头的焦距……我认为。因此,外部透镜负责鱼眼,内部透镜负责自动对焦。但是,如果这不起作用,那么看看当您将焦距设置为超焦距时会得到什么。这个距离可能不是最优的,但在大多数情况下应该是有效的。
float hyperFocalDist = cameraCharacteristics.get(CameraCharacteristics.LENS_INFO_HYPERFOCAL_DISTANCE);发布于 2021-03-12 22:38:41
对于任何在这里搜索的人来说,要获得安卓CameraX,相机特征,如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);https://stackoverflow.com/questions/42084327
复制相似问题