如果我在地平線上拍了風車的照片-考慮到我知道傳感器的大小和鏡頭的焦距以及與拍攝有關的其他因素,我是否可以計算出物體與攝影師的距離?
如果我在地平線上拍了風車的照片-考慮到我知道傳感器的大小和鏡頭的焦距以及與拍攝有關的其他因素,我是否可以計算出物體與攝影師的距離?
您需要的唯一其他因素是現實生活中物體的高度(否則,您可能正在拍攝更接近相機的模型)。
數學實際上並不那麼複雜,物體在傳感器上的尺寸與現實生活中物體的尺寸之比與焦距與到物體的距離之比相同。
計算出物體的尺寸傳感器上的對象,計算出它的高度(以像素為單位),除以圖像高度(以像素為單位),然後乘以傳感器的物理高度。
所以總和為:
讓我們理智地檢查一下這個方程。
如果我們將其他所有條件保持不變並增加焦距,則距離會增加(因為焦距為在分子上)。這就是您所期望的,如果您必須縮放鏡頭以使一個對象的大小與另一個以前相等的大小的對象相同,則第一個對象必須距離更遠。
如果我們將其他所有內容保持不變,並且增加對象的實際高度,然後距離又增加,就好像兩個不同實際高度的對像在圖像中出現的高度相同時,更高的對象必須更遠。
如果我們保持其他所有常量不變並增加圖像的高度,然後距離增加,就好像兩個對象(大小相同,請記住我們將其他所有內容保持不變)在裁剪和未裁剪的圖像中出現相同的像素大小一樣,那麼未裁剪的圖像中的對象必須離得更遠
如果我們將其他所有內容保持不變並以像素為單位增加對象高度,則距離減小(我們現在在分母上):兩個大小相等的對象,其中一個佔據更多像素,必須更近一點。
最後,如果我們保持其他所有參數不變並增加傳感器尺寸,則距離會減小:使用緊湊型相機(小型傳感器,其中20mm是長鏡頭)拍攝並使用DSLR拍攝時,兩個大小相等的對象具有相同的像素高度(20mm是寬鏡頭的大型傳感器),則DSLR圖像中的物體必須離得更遠(因為它看上去大小相同,但帶有寬鏡頭)。
如@ matt-grum所述,估計到物體距離的最簡單公式是針孔投影公式:
其中 x 是傳感器上物體的大小, f 是鏡頭的焦距, X 是物體的大小, d 是節點到物體的距離。 x 和 f ,以及 X 和 d 以相同的單位進行測量,例如mm和m分別重複(要計算 x ,您需要估算傳感器的像素大小;例如,對於Pentax K20D,它是23.4 mm / 4672 px≈5.008e-3 mm / px,即一幅100像素長的圖像對應於 x = 50.08e-3 mm)。
在下面,我假設對象的大小( X )是未知的,唯一已知的參數是 x (圖像大小)和 f (焦距)。
問題是我們無法分辨從一張照片開始,如果是一個很小的物體很靠近相機,或者是一個很大的物體很遠,因為風景照片中的景深通常很大(這就是針孔公式適用的原因)。
到為了解決這個問題,我們可以使用兩個或多個圖像來測量距離。只要可以測量兩個攝像機位置之間的所有角度和距離,還可以計算到遠程對象的距離。但是測量所有角度並不是一件容易的事。
一種更簡單的方法是拍攝兩張與對象保持在同一直線上的照片,並且對象位於圖像的中心。令到第一張照片上的物體的距離為d₁,圖像尺寸為x₁:
然後如果我們將相機 s 米直接移向物體,則在第二張照片上,圖像尺寸 x_2 略大於x₁:
( note :下一個表達式中的分母不正確,而不是“ d1”,應該是“ d2”或等效的“ d1-s”)
哪個給了我們
很明顯,如果 s 不會顯著影響圖像尺寸,則無法可靠地估計距離,需要使用更複雜的方法。 x2-x₁的差越大,就越好。
我知道這是一個舊線程,但是這個問題似乎不時出現。 FWIW,我添加了一個計算器來計算圖像中的物距。
http://www.scantips.com/lights/subjectdistance.html
您仍然必須知道您的值才能使其生效,其中之一是對象的近似實際高度。在這裡討論。
如果要調查涉及一些基本“經驗法則”的航海距離估算方法,而不是嘗試使用公式,例如,如果您站在水高1英尺的地方,如果您舉起,則距地平線3海裡您的拇指長到您要看的物體被遮蓋的臂高100英尺(我認為),因為我不再使用它們了,但我已經忘記了其中的大多數,但是它們確實起作用,而且一旦學會並定期使用,它們就非常準確。 / p>
簡單答案-不。您有兩個變量,只有一個方程。