2012-12-10 84 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