camera2:聚焦区域和聚焦距离的问题



我多次尝试在camera2 API上设置距离聚焦,或仅在活动开始时初始化的特定区域上设置自动聚焦。

但它仍然不起作用。。。

你能帮我吗?:(

这是我的配置:

captureRequestBuilder.set(CaptureRequest.CONTROL_MODE, CaptureRequest.CONTROL_MODE_AUTO);
captureRequestBuilder.set(CaptureRequest.CONTROL_AF_TRIGGER,
CaptureRequest.CONTROL_AF_TRIGGER_START);
MeteringRectangle[] focusArea = new MeteringRectangle[1];
focusArea[0] = new MeteringRectangle(new Rect(rectangle.getLeft(),rectangle.getTop(),
rectangle.getRight(), rectangle.getBottom()), MeteringRectangle.METERING_WEIGHT_MAX);
captureRequestBuilder.set(CaptureRequest.CONTROL_AF_REGIONS, focusArea);  
//captureRequestBuilder.set(CaptureRequest.LENS_FOCUS_DISTANCE,10000000000.0f);

您不包括调用CameraCaptureSession.capture或setRepeatingRequest的代码。但您不应该在重复请求中设置TRIGGER_START,因为这将重新开始关注每一帧。仅在单个capture((调用中使用它。

另外,您的意思是更改CONTROL_AF_MODE,而不是CONTROL_MODE吗?后者不会影响所使用的自动对焦类型,我假设您想对触摸对焦操作执行AF_MODE_AUTO。

如果您想要手动对焦,则需要设置AF_MODE_OFF以禁用自动对焦。

最新更新