2012-11-28 100 views
1

我想實施一個應用程序,它可以測量相機和聚焦物體之間的距離。請幫助我開始這個應用程序。即使我不知道如何啓動這個應用程序。請給我一些想法。測量從iPhone相機到使用相機的物體的距離

+0

嗨斯里你有這個想法嗎? – sinh99

+0

@sri你好,你有沒有找到與此相關的任何內容?因爲我必須開發相同的功能。謝謝。 – Urmi

回答

5

它非常困難! Iphone有許多功能,要實現這一點,您需要一個跟蹤光束或類似激光的東西。你可以嘗試使用GPS,並獲得距離,但專注於對象肯定需要一些預加載的數據。我會建議一種稱爲「視差法」的方法,天文學家用它來測量地球和恆星之間的距離很困難。它絕對有可能,但需要大量的研究和開發,Iphone相機有限制,有些R需要在使用視差方法之前進行,因爲它需要相機以不同的角度拍攝照片。和許多數學的東西(如三角)絕對有可能

+0

非常感謝我有一些提升。 – sri

2

雖然理論上你可以得到這個工作,但我不認爲這實際上可以用iPhone相機完成。 優點是,iPhone攝像頭具有固定的焦距,所以如果您知道要測量的物體的大小,則可以計算距離。如果您不知道尺寸,則需要從不同的角度拍攝多張照片或視頻。但是,那麼您需要知道每個幀的距離或位置。你可以使用GPS,但是這不夠準確,除非我們正在談論數百米遠處的物體。如果是這樣的話,你需要從彼此距離很遠的位置獲得不同的物體圖像,以獲得相當的準確性。儘管理論上可能,但我懷疑你會得到任何滿意的結果。

+0

你是對的jimpic我沒有得到任何滿意的結果,但通過閱讀你的答案+1爲你的答案增加了一些想法。 – sri

3

有一個簡單的方法,無論如何,這不是很聰明。你需要考慮使用你的應用程序的人的身高,或者更具體的說,就是鏡頭的高度(在真實空間中的y位置)。通過使用三角形公式,您可以測量距離。

想象一下三角形,其中A是用戶的腳,B iPhone攝像頭和C對象的底部你想知道的距離。你有c,人的高度(或相機鏡頭的高度),角度α,這是90°和角度β,你可以從iPhone通過加速度計得到。其餘的是數學:

γ = 180 - α - β 
b = c * sin(β)/sin(γ) 

但也有一些限制:要測量的距離內的對象和用戶必須是在同一水平線上,或至少用戶必須知道測量到腳點水平。從大約10米開始,這種方法變得非常不準確。並且:您必須通過減去偏移來標準化加速計 - 例如讓用戶將其平放在水平表面上。

enter image description here

希望這有助於。

(對不起,我可憐的數學英語;))

相關問題