我想知道相机的人的距离。我正在使用android motorola平板电脑。
我正在使用android的相机api - API Level 14。
我使用以下公式:
objectDistnance = ((objectheight(pixel) * focal-length(mm)) / imageheight(pixel);
imageHeight是我的预览屏幕的高度;
我从相机api得到的焦距:4.42毫米;
物体高度我作为人体高度的输入,以mm:1620mm
我想计算人与相机的距离。
通过使用这个公式我得到错误的距离它给我60毫米但实际上它超过2500毫米
所以请任何人帮助我 我使用正确的配方吗?
我该怎么办才能让人与相机保持正确的距离
答案 0 :(得分:2)
从here我得到以下公式:
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,这适合这个测试。