1

我想知道人形相机的距离。我正在使用安卓摩托罗拉平板电脑。

我正在使用 Android 的相机 API - API 级别 14。

我正在使用以下公式:

objectDistnance = ((objectheight(pixel) * focal-length(mm)) / imageheight(pixel);

imageHeight 是我的预览屏幕的高度;
我从相机 api 获得的焦距:4.42 毫米;
我以毫米为单位输入的物体高度:1620mm

我想计算人与相机的距离。

通过使用这个公式,我得到了错误的距离,它给了我 60 毫米,但实际上它超过了 2500 毫米

所以请有人帮我解决这个问题我使用正确的公式吗?

我应该怎么做才能获得人与相机的正确距离

4

1 回答 1

2

这里我得到以下公式:

distance to object (mm) = focal length (mm) * real height of the object (mm) * image height (pixels)
                          ---------------------------------------------------------------------------
                          object height (pixels) * sensor height (mm)

因此,您似乎没有包含足够的参考变量。

让我们假设以下内容:

Focal Length: 4,42mm
Real Height of object: 1620mm
Image Height: 2048px
Object Height: 1024px
Sensor height: 24mm

4.42mm * 1620mm * 2048px
-----------------------
1024px * 24mm

这样做的结果是1193 mm 因为我不知道你的所有变量,所以我无法重新计算你的情况。

编辑 我刚刚使用我的三星 Galaxy S 使用以下值检查了这个公式:

3.79mm focal length 
100mm real object height
2592px image height
1200px object height on image
4.54mm sensor height

我从大约 200 - 250 毫米远的地方拍了一张照片(我没有测量确切的距离)。这个计算的结果是~200mm,适合这个测试。

于 2012-12-10T12:27:45.097 回答