相机畸变模型
畸變參數(shù)(與點集如何畸變的2D幾何相關。)
采用理想針孔模型,由于通過針孔的光線少,攝像機曝光太慢,在實際使用中均采用透鏡,可以使圖像生成迅速,但代價是引入了畸變。
有兩種畸變對投影圖像影響較大: 徑向畸變和切向畸變。
1、徑向畸變
對某些透鏡,光線在遠離透鏡中心的地方比靠近中心的地方更加彎曲,產生“筒形”或“魚眼”現(xiàn)象,稱為徑向畸變。
一般來講,成像儀中心的徑向畸變?yōu)?,越向邊緣移動,畸變越嚴重。不過徑向畸變可以通過下面的泰勒級數(shù)展開式來校正:
xcorrected = x(1+k1r2+k2r4+k3r6)
ycorrected = y(1+k1r2+k2r4+k3r6)
這里(x, y)是畸變點在成像儀上的原始位置,r為該點距離成像儀中心的距離,(xcorrected?,ycorrected?)是校正后的新位置。
對于一般的攝像機校正,通常使用泰勒級數(shù)中的前兩項k1和k2就夠了;對畸變很大的攝像機,比如魚眼透鏡,可以使用第三徑向畸變項k3
2、切向畸變
當成像儀被粘貼在攝像機的時候,會存在一定的誤差,使得圖像平面和透鏡不完全平行,從而產生切向畸變。也就是說,如果一個矩形被投影到成像儀上時,
可能會變成一個梯形。切向畸變可以通過如下公式來校正:
xcorrected?=?x +?[ 2p1y +?p2?(r2?+ 2x2) ]
ycorrected?=?y +?[?2p2x?+?p1?(r2?+ 2y2)?]
這里(x, y)是畸變點在成像儀上的原始位置,r為該點距離成像儀中心的距離,(xcorrected?,ycorrected?)是校正后的新位置。
總結
- 上一篇: C、C++和MFC中文件的操作
- 下一篇: cuda线程束原语 __shfl_xor