【问题标题】:How to get focal length of camera in Android using Java如何使用Java在Android中获取相机的焦距
【发布时间】:2022-01-07 21:34:27
【问题描述】:

我想得到相机的焦距。我的目标 API 版本是 21+。我在文档的帮助下尝试了以下操作:

import android.hardware.Camera;

private float getFocalLengthHere() {

    float focalLength = Camera.Parameters.getFocalLength ();  
    return  focalLength;
}

我遇到了以下错误:

不能从静态上下文引用非静态方法“getFocalLength()”

Here is attached image

在文档中,我没有找到任何可以使用 camera2 调用 Focal Length。

【问题讨论】:

标签: java android kotlin android-camera android-camera2


【解决方案1】:

你需要打开摄像头设备,先获取一个Parameter对象,然后调用getFocalLength:

   Camera myCamera = Camera.open(<camera id>);
   float focalLength = myCamera.getParameters().getFocalLength();
   myCamera.close();

但这是已弃用的相机 API。使用较新的 Camera2 API,您可以:

   CameraCharacteristics = CameraManager.getCameraCharacteristics(<camera id>);
   float focalLength = CameraCharacteristics.get(CameraCharacteristics.LENS_INFO_AVAILABLE_FOCAL_LENGTHS)[0];

这样更快,因为您无需打开相机即可获取信息。 请注意,支持物理变焦的相机可能会列出多个焦距;第一个是默认值。

【讨论】:

    猜你喜欢
    • 2012-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多