2013-08-07 73 views
0

因此,我有一個帶有定義視場的相機,這個相機是我想要在圖像中標註的地方的一個點。我有兩個點的經度和緯度,我知道它們之間的角度,但是我找到像素位置的方程是關閉的。附接是一個圖像,以幫助我的解釋: enter image description here查找視野中的像素位置

我可以解決用於向的視圖的中心和點和所述視場的全角和視中心之間的角度和攝像機的每個矢量點。

這裏是林目前正在使用:* 1024(屏幕寬度)

隨着數字[的視圖(綠色角)/向量之間的角度(藍色角)視場角]:(14.182353/65)* 1024 = 223.426620,在圖像上的像素值應該是328 ...

我試過的另一種方法是使用軸承方程:[[相機的軸承點 - 左軸承(1024×1024)×1024 = 212.913132,答案應該是328 ...

任何人都可以想到更準確的解決方案嗎?

enter image description here

+0

你可以在你的照片中標註328應該是什麼? – Teepeemm

+0

328是該點應該在屏幕上顯示的像素的x值 – user2125844

回答

0

嘗試512(1-tan(blue)/tan(green/2)),其中藍色爲正向左。

如果藍色是正確的,你可以把它作爲負數,得到512(1+tan(blue)/tan(green/2))

說明:

C是攝像機,d被點標記328E是視場的中心,並L是視場的左端點,使得你想找到dL。然後(藍色去左):

dL+dE = EL = 512 
tan(green/2)=EL/CE 
tan(blue)=dE/CE 

然後tan(blue)/tan(green/2) = dE/EL = (512-dL)/512,你可以解決dL

右轉會類似(或者你可以使用負距離,一切正常)。

+0

哇!非常感謝!你怎麼看待這個問題?如果藍色是正確的,有沒有辦法來修改? – user2125844

+0

@ user2125844我已經更新了我的答案。如果您還有任何問題,請告訴我。 – Teepeemm