android - 如何从相机android获取物体距离?

标签 android camera

如何在自动对焦模式下计算物体与相机的距离?我曾尝试使用 Camera.Parameters.getFocusDistances(float[]) 方法,但它总是在我的 Galaxy S2 上返回值 .15、1.2 和 Infinity。任何帮助将不胜感激。 这是我正在使用的代码:-

..........
cam=Camera.open();
Camera.Parameters pa=cam.getParameters();
pa.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
cam.setParameters(pa);
cam.startPreview();
cam.autoFocus(this);
..........


@Override
public void onAutoFocus(boolean arg0, Camera arg1) {
    // TODO Auto-generated method stub
        float f[]=new float[3];
        arg1.getParameters().getFocusDistances(f);
        text.setText(""+f[1]);  //Always returns 1.2
        t2.setText(""+f[0]);    //Always returns .15
        t3.setText(""+f[2]);    //Always returns Infinity

    }

还有其他方法可以实现吗?

最佳答案

不 :( Check out this other stackoverflow answer. “不。相机只能为您提供图像数据,而单独的图像并不能为您提供足够的信息来为您提供深度信息。如果您有多个图像,甚至有位置信息然后您可以处理视频以三角测量距离,但单独的单个图像不足以为您提供距离”

关于android - 如何从相机android获取物体距离?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7074659/

相关文章:

AndroidPlot定位标签

android - 我可以识别应用程序分发吗?

android - 无法解析 : com. google.android.gms :play-services-maps:15. 6.1 安装存储库和同步项目 在文件中显示 在项目结构对话框中显示

android - Facebook 授权访问 token ?

android - 适用于 Android 5.0 及更高版本的 OpenCV native 相机库?

opencv - 在 C++ 中使用 OpenCV 计算仿射运动模型系数

java - 拍照时如何获取默认相机存储位置?

android - android中的谷歌登录获取无效的SHA-1证书指纹错误

c++ - 使用 C++ 在 Linux 中使用系留相机应用程序

c++ - 无法识别 glMatrixMode() 或 GL_PROJECTION 并提供所有需要的库