內容整理自浙江大學陳平老師的ppt
3d空間中的平行線在影象中相交(延長線相交)所形成的點。可以這麼理解,二維平面上每乙個點對應三維世界裡面一系列相互平行的直線,這些直線擁有相同的方向向量。
關於absolute conic這一概念。這一部分內容ppt上比較簡略,可以參考這篇部落格一起看:camera calibration 相機標定:原理簡介(三)
按照課堂思路的話,現在,我們假設在無窮遠平面上有乙個方向向量e=[
001]
te=[0\;0\;1]^t
e=[001
]t,那麼,根據無窮遠平面的定義,他的齊次座標應該為[e0
]t[e\;0]^t
[e0]
t,那麼它在影象上所形成的vanishing points應該為
v =k
[rt]
[e0]
=kre
\begin v=k[r\;t]\left[\begin e \\ 0 \end\right]=k r e \\ \end
v=k[rt
][e0
]=k
re所以,影象上的乙個vanishing points所對應無窮遠平面上的方向向量為
e =r
tk−1
ve=r^ k^ v
e=rtk−
1v當我們有兩個相互正交的方向向量ei,
eje_i,e_j
ei,ej
的話,由其內積為0,可以得到,
0 =e
itej
=(rt
k−1v
i)t(
rtk−
1vj)
=vit
k−tr
rtk−
1vj=
vitk
−tk−
1vj\begin 0 &=e_^ e_=\left(r^ k^ v_\right)^\left(r^ k^ v_\right) \\ &=v_^ k^ r r^ k^ v_ \\ &=v_^ k^ k^ v_ \end
0=eit
ej
=(rt
k−1v
i)t
(rtk
−1vj
)=v
itk
−trr
tk−1
vj=
vit
k−tk
−1vj
從這乙個運算過程也體現出我們為什麼要引入absolute conic,在計算中,相機位姿r被消去了,absolute conic對於剛體變換具有不變性!!!
關於矩陣k−t
k−1k^ k^
k−tk−1
,這個矩陣是乙個二次型矩陣,對應一條圓錐曲線,我們把這個二次型矩陣所對應的圓錐曲線叫做iac(image of absolute conic),定義為www。
現在我們假設我們的相機內參矩陣有相同的水平和豎直放大係數,此時相機內參有三個自由度。即:
k =[
f0u0
0fv0
001]
k=\left[\begin f & 0 & u_ \\ 0 & f & v_ \\ 0 & 0 & 1 \end\right]
k=⎣⎡f
000
f0u
0v0
1⎦
⎤如果我們有三個vanishingpoint(必須這三個點對應的方向向量是相互垂直的):vi,
vj,v
kv_i,v_j,v_k
vi,vj
,vk
的話,就可以通過以下三個方程解算出相機內參矩陣k。
v it
ωvj=
0vjt
ωvk=
0vit
ωvk=
0\begin v_^ \omega v_ &=0 \\ v_^ \omega v_ &=0 \\ v_^ \omega v_ &=0 \end
vitωv
jvj
tωv
kvi
tωv
k=
0=0=
0現在,我們知道了,通過vanishing point,求解iac,是可以計算出相機的內參模型的,也就有了張氏標定法的理論基礎。
未完待續。。。。。。
張氏標定法簡述
單目攝像頭有內參m fx,o,cx,0,fy,cy,0,0,1 其中fx為焦距f x軸單位像元大小,fy為焦距f y軸單位像元大小,cx,cy為光心偏移距離 單位像元大小 p x,y,1 p x,y,1 p h p,其中h為單應矩陣,h sm r t s為縮放因子,m為內參,r t 為旋轉平移矩陣。...
關於張正友標定法
關於演算法的實現最好參照一下 opencv2計算機視覺程式設計手冊 第191頁,講的非常好,事實上我們只需要有3d點和2d點的對應我們就可以計算出對應的相機矩陣了,但是一直讓我迷惑的是3d點如何得到。那麼張正友標定法事實上是建立了乙個棋盤模型,對這個棋盤模型進行了不同角度的拍照,這樣這些拍照imag...
張正友相機標定法
1.為什麼需要相機標定 因為每個鏡頭在生產和組裝過程中可能會出現不同程度的畸變 畸變是一種光學錯位現象,通俗的講就是本來是直線的物體,實際拍出的效果是扭曲的 而通過相機標定可以矯正這種畸變,避免拍出的影象出現畸變。另外,可以根據相機標定得到的相機引數建立相機成像幾何模型,將世界座標系中的3d影象對映...