2012-12-10 49 views
0

我想知道人形相机的距离。我正在使用android摩托罗拉平板电脑。机器人的获取人与相机之间的距离

我用照相机API - API级别14

我用下面的公式:

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

imageHeight是我的预览画面的高度;
焦距我从相机api得到:4.42毫米;
对象高度我以mm为单位输入人的身高:1620mm

我想计算人距摄像头的距离。

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

所以请我用正确的公式我任何帮助我 ?

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

回答

2

here我得到了以下公式:

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

因此,看来你没有包括足够的参考变量。

让asume如下:

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,这将适合这个测试。

+0

你如何说传感器高度是24mm?我不能得到你能解释吗?与什么参考传感器高度是24mm –

+0

如何对象高度是1024像素?请解释我无法理解。 –

+0

这取决于您正在使用的相机。我只拿到了我在网上找到的一个尺寸的数码单反相机。在Android上它会小得多!您可以获取有关传感器尺寸的信息[此处](http://cameraimagesensor.com)。如何使用Android API获取这些信息我不知道 – HashtagMarkus